环境变量描述

旨在供客户使用的服务器和客户机环境变量的描述。

使用范例

  • [AIX][Linux]AIX® and Linux®系统,请使用以下格式:export [environment variable]=value
  • [Windows]Windows系统,请使用以下格式:Set [environment variable]=value
  • [IBM i]IBM® i 系统上,使用以下格式: ADDENVVAR ENVVAR(environment variable) VALUE(xx)
  • [MQ Appliance]为了IBM MQ Appliance, 看在上配置环境变量IBMMQ Appliance在里面IBM MQ Appliance文档。
表 1. 环境变量摘要
名称 描述 在服务器上? 在客户上?
允许的密码 指定支持与 IBM MQ 通道配合使用的 CipherSpecs 的定制列表。 X  
[ MQ 9.4.2 2025年2月][UNIX、Linux、Windows、IBM i]amq_app_instance_mode 指定是否将一个客户端 Java 虚拟机创建的所有连接视为单个应用程序实例。   X
amq_bad_comms_data_fdcs 如果 IBM MQ 通过 TCP/IP 从主机接收格式不正确的数据,那么会导致针对包括简单已知格式在内的任何错误数据写入 FFST 文件。 X  
AMQ_CONVAMQICNEWLINE 指定 IBM MQ 如何将 EBCDIC NL 字符转换为 ASCII 格式。 X  
amq_diagnostic_msg_severity 指定当 IBM MQ 进程将消息写入错误日志或控制台时,是否将消息严重性追加至消息号。 X  
amq_disable_client_ams 对于 Java 客户机,如果要从较低版本的产品连接到队列管理器,请在客户机上禁用 IBM MQ Advanced Message Security (AMS)。   X
amq_dmpmqcfg_qsgdisp_default 指定查询队列管理器的处置时要包含的定义类型。 X  
[MQ 9.4.0 2024 年 6 月]AMQ_IODELAY、AMQ_IODELAY_INMS和AMQ_IODELAY_FFST 用于在队列管理器日志和存储文件系统的输入和输出缓慢时微调诊断和计时。 X  
AMQ_LDAP_TRACE 使您能够在不停止或启动队列管理器的情况下打开和关闭 LDAP 客户机跟踪。 X  
AMQ_许可方度量 使队列管理器上载与每月 VPC 许可证类型相关的数据,而不是上载与基于每小时容器的许可证相关的数据的缺省行为。 X  
[AIX][Linux]amq_mqs_ini_location 指定用于 mqs.ini 文件的位置。 X  
amq_no_bad_comms_data_fdcs 如果 IBM MQ 通过 TCP/IP 从主机接收的数据格式不正确,那么在初始通信流上报告错误消息时,禁止生成 FFST。 X  
AMQ_NO_IPV6 尝试连接时禁用 IPv6 X X
MQ 9.4.12024年10月][Linux]amq_rdqm_no_ping_checks 在 RDQM 配置中禁用 ICMP ping。 X  
amq_reverse_commit_order 配置队列管理器,以便在完成相应的数据库更新之后,在 XA 事务中落实 IBM MQ 队列管理器更改。 X  
amq_ssl_allow_default_cert 允许应用程序用于连接到队列管理器的证书作为缺省证书,前提是密钥存储库中存在缺省证书,并且密钥存储库不包含前缀为 ibmwebspheremquserid的个人证书。 X  
amq_ssl_ldap_server_version 指定在 CRL 服务器要求使用特定版本的 LDAP 协议的情况下, IBM MQ 加密组件使用 LDAP v2 或 LDAP v3 。 X  
AMQ_TLS_环境作用域 控制是否为整个进程使用单一 IBM Global Security Kit (GSKit) 环境 IBM MQ ,或为每个连接使用 IBM Global Security Kit (GSKit) 独立环境。   X
[AIX]AMQ_USE_ZLIBNX AIX上,允许消息通道代理程序 (MCA) 在使用 ZLIBFAST 或 ZLIBHIGH 技术时使用硬件加速的 zlibNX 库来压缩和解压消息数据。 X  
通用消息队列库 当针对客户机而不是服务器运行 ActiveX (MQAX) 的 IBM MQ 自动化类时,指定客户机绑定库。
注意: 此环境变量在 9.2处除去。
   
[AIX][IBM i][Linux]首页 AIXLinuxIBM i上,指定要搜索 mqclient.ini 文件的目录的名称。 X  
[Windows]HOMEDRIVE 和 HOMEPATH Windows上,一起用于指定要搜索 mqclient.ini 文件的目录的名称。 X  
LDAP BASEDN 运行 LDAP 样本程序所需的环境。 指定目录搜索的基本专有名称。 X  
LDAP_HOST 可选,用于运行 LDAP 样本程序。 指定运行 LDAP 服务器的主机的名称。 X  
LDAP 版本 可选,用于运行 LDAP 样本程序。 指定要使用的 LDAP 协议的版本。 X  
[ MQ 9.4.5 2026年2月]MQCCDTCERTVPOL [ MQ 9.4.5 2026年2月]CCDT证书验证策略的可选环境变量,可用于配置客户端 IBM MQ classes for JMS 库。 [ MQ 9.4.5 2026年2月]  [ MQ 9.4.5 2026年2月]X
mq_channel_suppress_interval 指定要禁止使用 MQ_CHANNEL_SUPPRESS_MSGS 定义的消息写入错误日志的时间间隔 (以秒计) ,以及在禁止之前允许消息在指定时间间隔内出现的次数。 X  
mq_channel_suppress_msgs 禁止错误日志中的通道错误消息。 X  
MQ_CONNECT_TYPE 与 MQCONNX 调用上使用的 MQCNO 结构的 "选项" 字段中指定的绑定类型结合使用。   X
mq_cross_queue_order_all 指定在工作单元中维护消息放置顺序。 X  
mq_ephemeral_prefix 指定队列管理器的临时目录的路径,当队列管理器正在运行时,在此目录中保留临时队列管理器数据。 X  
[Windows]消息队列文件路径 可执行文件的位置。 在首次安装时设置系统 IBM MQ环境变量。 相同的路径也存储在注册表 Windows 中。 X  
MQ_JAVA_DATA_PATH 指定 IBM MQ classes for JMSIBM MQ classes for Jakarta Messaging以及 IBM MQ classes for Java的日志和跟踪输出目录。 X  
MQ_JAVA_INSTALL_PATH 指定 IBM MQ classes for JMSIBM MQ classes for Jakarta Messaging以及 IBM MQ classes for Java 的安装目录。 X  
MQ_JAVA_LIB_PATH 指定 IBM MQ classes for JMSIBM MQ classes for Jakarta Messaging以及 IBM MQ classes for Java 库的存储目录。 X  
[UNIX、Linux、Windows、IBM i]MQ_LCLADDR 多平台上,定义默认本地地址值,用于所有未定义本地地址的发送方通道。 X X
mq_override_data_path 覆盖 IBM MQ 数据路径的缺省目录。 X X
[AIX]MQ_SET_NODELAYACK AIX上,关闭 TCP 延迟应答。 X  
MQ_USER_NAME 允许 IBM MQ 非安装镜像在 Linux 上选择未命名用户的名称。 X  
mqapi_trace_logfile 定义样本 API 出口程序为其生成 MQI 跟踪的用户指定文件的前缀。 X  
[AIX、Linux 和 Windows]MQAPPLNAME 如果尚未选择应用程序名称,请指定用于标识与队列管理器的连接的名称。   X
MQCCSID 指定要使用的编码字符集号,并覆盖配置了服务器的 CCSID 值。   X
MQCCDTURL 提供用于设置 MQCHLLIBMQCHLTAB 环境变量组合的等效功能。   X
MQCERTLABL 定义通道定义的证书标签,供 IBM MQ 用于查找 TLS 握手期间发送的个人证书。   X
MQCERTVPOL 指定要使用的证书验证策略的类型。   X
MQCHLLIB 指定包含客户机通道定义表 (CCDT) 的文件的目录路径。   X
MQCHLTAB 指定包含客户机通道定义表 (CCDT) 的文件的名称。   X
MQCLNTCF 指定 IBM MQ MQI client 配置文件的位置。   X
mqdotnet_trace_on IBM MQ .NET 可再分发客户机启用跟踪。   X
MQIPADDRV 指定要用于通道连接的 IP 协议。   X
MQ密钥密码 指定保存属于用户的数字证书的密钥存储库的密码。   X
[Linux]MQLICENSE Linux 系统上,用于在安装产品后接受或查看 IBM MQ 许可证。 X X
mqmaxerrorlogsize 指定复制到备份的队列管理器错误日志的大小。 X  
[Windows]消息队列名称 指定 IBM MQ 进程可以使用的本地 NetBIOS 名称。 X X
MQNOREMPOOL 关闭通道池并使通道作为侦听器的线程运行。 X  
mqpse_trace_logfile 描述发布出口样本程序的跟踪文件必须写入的位置。 X  
mqs_amscred_keyfile 覆盖或提供要在 IBM MQ Advanced Message Security (AMS) 应用程序运行时或使用 runamscred 命令保护密钥库配置文件时使用的初始密钥文件。   X
mqs_disable_all_intercept 对于本机 C 客户机,如果要从较低版本的产品连接到队列管理器,请在客户机上禁用 IBM MQ Advanced Message Security (AMS)。   X
MQS_IPC_主机 设置添加到目录路径的主机名。 X  
mqs_keystore_conf 指定 IBM MQ Advanced Message Security (AMS) 的密钥库配置文件的位置 (如果该文件不在缺省位置)。   X
mqs_mqi_keyfile 指定包含要用于密码保护操作的初始密钥的初始密钥文件的位置。   X
mqs_sslcryp_keyfile 指定包含用于对 PKCS #11 加密硬件配置字符串中的密码进行加密的初始密钥的文件的完整路径和名称。   X
MQS_TRACE_OPTIONS 对于 AIX上的选择性组件跟踪,分别激活高详细信息和参数跟踪功能。 X X
[Linux]MQS_获取组列表接口 返回所有群组信息,并在群组中查找所请求的 mqm 用户,但不会导致内部队列管理器超时。 X  
MQSERVER 定义最小通道,指定 IBM MQ 服务器的位置和要使用的通信方法。   X
MQSNOAUT 禁用对象权限管理器 (OAM) 并阻止任何安全性检查,例如在测试环境中。 X  
MQSPREFIX 作为更改缺省前缀的替代方法,覆盖 crtmqm 命令的 DefaultPrefix X  
[AIX、Linux 和 Windows]MQSSL加密 保存可用于配置系统上存在的加密硬件的参数字符串。   X
MQSSLFIPS [ MQ 9.4.4 2025 年 10 月]指定是否仅在执行加密操作 FIPS 时使用经过 IBM MQ认证的加密库和算法。

[长期支持]指定是否仅在执行加密操作时 FIPS 使用 IBM MQ经过认证的算法。

  X
MQSSL密钥 指定保存属于用户的数字证书的密钥存储库的位置。   X 客户端和 mqcertck 工具
MQSSLPROXY 指定 IBM Global Security Kit (GSKit) 用于 OCSP 检查的 HTTP 代理服务器的主机名和端口号。   X
MQSSL重置 指定在重新协商 TLS 密钥之前在 TLS 通道上发送和接收的未加密字节数。   X
[AIX、Linux 和 Windows]MQSUITEB 指定是否使用符合 Suite B 的密码术。 在使用 Suite B 密码术的实例中,   X
消息队列传输协议超时 指定 IBM MQ 等待TCP连接呼叫的时间。 X X
MQTRACEPATH 当进行长时间记录时,请设置一个磁盘空间更大的目录名称。 X X
ODQ_MSG 如果使用与 runmqdlq不同的死信队列处理程序,请设置包含错误和参考消息的文件的名称。 X  
ODQ_TRACE 如果使用与 runmqdlq不同的死信队列处理程序,那么启用跟踪。 X  
[ MQ 9.4.5 2026年2月]TOKENCERTVPOL [ MQ 9.4.5 2026年2月]用于JWT证书验证策略的可选环境变量,可为客户端 IBM MQ classes for JMS 库进行配置。 [ MQ 9.4.5 2026年2月]  [ MQ 9.4.5 2026年2月]X
WCF_TRACE_ON 对 WCF 定制通道启用跟踪。   X
WMQSOAP_HOME IBM MQ中正确安装和配置 .NET SOAP over JMS 服务托管环境之后完成其他配置步骤时使用。   X
XMS_TRACE_ON , XMS_TRACE_FILE_PATH , XMS_TRACE_FORMAT 和 XMS_TRACE_SPECIFICATION 用于启用和配置 XMS 跟踪。   X
[UNIX、Linux、Windows、IBM i]

允许的密码

您可以使用 AMQ_ALLOWED_CIPHERS 环境变量来指定支持与 Multiplatforms 版上的 IBM MQ 通道配合使用的 CipherSpecs 的定制列表。 环境变量采用与 .ini 文件的 AllowedCipherSpecs SSL 节属性相同的值:
  • 单个 CipherSpec 名称,或
  • 要重新启用的 IBM MQ CipherSpec 名称的逗号分隔列表,或者
  • ALL的特殊值,表示所有 CipherSpecs (不推荐)。
注: 建议不要启用 ALL CipherSpecs ,因为这将启用 SSL 3.0 和 TLS 1.0 协议以及大量弱加密算法。

有关更多信息,请参阅 TLS 握手中的 CipherSpec 顺序中的 在 Multiplatforms 版上提供已启用 CipherSpecs 的定制列表

[ MQ 9.4.2 2025年2月][UNIX、Linux、Windows、IBM i]

amq_app_instance_mode

AMQ_APP_INSTANCE_MODE 设置为 JVM 时,由在此环境中运行的单个客户端 Java 进程创建的所有连接将被视为单个应用程序实例,并连接或重新连接到同一队列管理器。 如需了解更多信息,包括启用此操作模式的应用程序所适用的限制,请查看 IBM MQ classes for JMS / Jakarta Messaging 中的应用程序实例

amq_bad_comms_data_fdcs

AMQ_BAD_COMMS_DATA_FDCS 环境变量在设置为任何值时生效。

如果 IBM MQ 通过 TCP/IP 从主机接收的数据格式不正确,例如,由于网络客户机已连接到 IBM MQ 侦听器端口并尝试与不受支持的应用程序协议进行通信,那么队列管理器会将 AMQ9207E 错误消息写入队列管理器错误日志。 IBM MQ 侦听器支持来自队列管理器消息通道代理程序 (MCA) 以及来自 MQI , JMSXMS 客户机应用程序的 TCP/IP 连接。
注: IBM MQ 侦听器不支持 AMQP 和 MQTT 客户机使用的应用程序协议,这些客户机应改为连接到适用的 AMQP 通道或 MQXR 遥测服务中配置的网络端口。

可能还会写入包含 IBM MQ 已接收的无效数据的故障数据捕获 (FDC) 记录。 不过,如果这是与远端对话的开始,而且格式是简单的已知格式,如 HTTP 网络浏览器的 GET 请求,则不会生成 FFST 文件。 如果要覆盖此值以导致针对任何错误数据 (包括简单已知格式) 写入 FFST 文件,那么可以将 AMQ_BAD_COMMS_DATA_FDCS 环境变量设置为任何值 (例如, TRUE) 并重新启动队列管理器。

[UNIX、Linux、Windows、IBM i]

AMQ_CONVAMQICNEWLINE

您可以使用 AMQ_CONVEBCDICNEWLINE 环境变量来指定 IBM MQ 如何将 EBCDIC NL 字符转换为 ASCII 格式。 环境变量的取值与` mqs.ini`的` ConvEBCDICNewline `属性相同, 即NL_TO_LFT ABLE 或ISO( 见 mqs.ini 文件中的All队列管理器段落)。 例如,在无法使用 mqs.ini 文件的情况下,可以使用 AMQ_CONVEBCDICNEWLINE 环境变量而不是 ConvEBCDICNewline 节属性在客户端上提供 ConvEBCDICNewline 功能。 如果同时设置了节属性和环境变量,那么节属性优先。

有关更多信息,请参阅 编码字符集之间的数据转换

amq_diagnostic_msg_severity

如果针对 IBM MQ 进程将 AMQ_DIAGNOSTIC_MSG_SEVERITY 环境变量设置为 1 ,那么当 IBM MQ 进程将消息写入错误日志或控制台时,会将消息严重性作为单个大写字母字符附加到消息号。

缺省情况下,已设置 AMQ_DIAGNOSTIC_MSG_SEVERITY 启用的行为。 您可以通过将该环境变量设置为 0 来关闭此行为。

有关更多信息,请参阅 使用错误日志

amq_disable_client_ams

如果存在以下情况,那么可以使用 AMQ_DISABLE_CLIENT_AMS 环境变量在客户机上禁用 IBM MQ Advanced Message Security (AMS):2085 (MQRC_UNKNOWN_OBJECT_NAME)当您尝试从较低版本的产品连接到队列管理器并且正在使用下列其中一个客户机时,将报告错误:
  • IBM Java runtime environment (JRE) 之外的 Java runtime environment (JRE)
  • IBM MQ IBM MQ classes for JMSIBM MQ classes for Java 客户机。
注: 不能将 AMQ_DISABLE_CLIENT_AMS 环境变量用于 C 客户机。 您需要改为使用 MQS_DISABLE_ALL_INTERCEPT 环境变量。

有关更多信息,请参阅 在客户机上禁用高级消息安全性

amq_dmpmqcfg_qsgdisp_default

缺省情况下,由 dmpmqcfg 命令使用的队列管理器处置查询仅查询 QSGDISP (QMGR) 定义。 您可以使用 AMQ_DMPMQCFG_QSGDISP_DEFAULT 环境变量来查询其他定义,该变量可以设置为下列其中一个值:
实时
仅包括使用 QSGDISP (QMGR) 或 QSGDISP (COPY) 定义的对象。
全部
包含使用 QSGDISP (QMGR) 和 QSGDISP (COPY) 定义的对象。 如果队列管理器是队列共享组的成员,那么还包括 QSGDISP (GROUP) 和 QSGDISP (SHARED)。
COPY
仅包括使用 QSGDISP (COPY) 定义的对象
GROUP
仅包括使用 QSGDISP (GROUP) 定义的对象; 目标队列管理器必须是队列共享组的成员。
QMGR
仅包括使用 QSGDISP (QMGR) 定义的对象。 如果使用此环境变量来匹配 dmpmqcfg的现有行为,那么这是缺省行为。
PRIVATE
仅包括使用 QSGDISP (QMGR) 或 QSGDISP (COPY) 定义的对象。
SHARED
仅包括使用 QSGDISP (SHARED) 定义的对象。
[MQ 9.4.0 2024 年 6 月][UNIX、Linux、Windows、IBM i]

AMQ_IODELAY , AMQ_IODELAY_INMS 和 AMQ_IODELAY_FFST

IBM MQ 检测日志读写或输入和输出操作所花费的时间超过预期时间。 这可能是由于操作系统或存储系统存在问题,并可能影响队列管理器性能。 从 IBM MQ 9.4.0开始,当队列管理器日志和存储文件系统的输入和输出缓慢时,可以使用 AMQ_IODELAY 环境变量来微调诊断和计时。 如果您看到消息 AMQ6729WLog I/O operation exceeded threshold在队列管理器错误日志中,调查原因并进行相应调整。 使用变量,如以下示例中所示:
AMQ_IODELAY
阈值时间 (以秒为单位) ,缺省值为 1 秒。 如果 I/O 操作花费的时间超过此阈值,那么将在 IBM MQ 日志文件中报告错误消息 AMQ6729W 。 如果延迟继续,那么最多每 10 秒重复一次警告消息。 您可以增大此数目以禁止错误或减小此数目以调查特定性能问题。 例如,
export AMQ_IODELAY=200000
amq_iodelay_inms
将时间度量更改为微秒而不是秒。 使用此选项可在队列管理器日志中获取消息 AMQ6729 之前设置较低的阈值。
export AMQ_IODELAY_INMS=YES
amq_iodelay_ffst
除了错误日志中的警告消息外,只要超过阈值,就会生成包含诊断信息的 FFST 文件。
export AMQ_IODELAY_FFST=YES

如本示例中一样,启动队列管理器会导致在输入/输出操作耗时超过 200000 微秒 (0.2s) 时写入 FDC 或 FFST 文件,这仍然是一个相对宽裕的阈值。

有关更多信息,请参阅 队列管理器运行状况检查行为

AMQ_LDAP_TRACE

如果 AMQ_LDAP_TRACE 环境变量设置为非空值,那么可以在不停止或启动队列管理器的情况下打开和关闭 LDAP 客户机跟踪。

有关更多信息,请参阅 启用 LDAP 客户机库代码的动态跟踪

[UNIX、Linux、Windows、IBM i]

AMQ_许可方指标

设置 AMQ_LICENSING_METRIC=VPCMonthlyPeak 环境变量会导致队列管理器上载与每月 VPC 许可证类型相关的数据,而不是上载与基于每小时容器的许可证相关的数据的缺省行为。

有关配置 "IBM MQ以便与 "IBM Cloud® Private计量服务一起使用的更多信息,请参阅 "IBM Cloud Private文档中的 "IBM Cloud Private计量服务

[AIX][Linux]

amq_mqs_ini_location

AIX and Linux 系统上,可以通过在 AMQ_MQS_INI_LOCATION 环境变量中设置 mqs.ini 文件的位置来变更用于 mqs.ini 文件的位置。 必须在系统级别设置此环境变量。

有关该 mqs.ini 文件的更多信息(包括目录位置),请参阅 IBM。 MQ 配置文件,请参阅 mqs.ini。

amq_no_bad_comms_data_fdcs

AMQ_NO_BAD_COMMS_DATA_FDCS 环境变量在设置为任何值时生效。

如果 IBM MQ 在尝试将非IBM MQ 客户机连接到 IBM MQ TCP/IP 侦听器时无法识别初始数据传输,那么会导致队列管理器将 AMQ9207E 错误消息写入队列管理器错误日志。 还会写入故障数据捕获 (FDC) 记录。 您可以使用 AMQ_NO_BAD_COMMS_DATA_FDCS 环境变量来禁止生成这些诊断文件。 当 AMQ_NO_BAD_COMMS_DATA_FDCS 设置为任何值 (例如, TRUE) 时,这将指示 IBM MQ 在初始通信流上报告 AMQ9207E 错误消息时不生成 FFST。 要生效,应在启动队列管理器和侦听器进程之前设置环境变量。

在客户机将有效 IBM MQ 协议流发送到队列管理器,然后发送无效数据的情况下,将继续生成 FDC ,因为这指示存在需要进一步调查的客户机问题。

注: 缺省情况下禁止在初始通信流上报告 AMQ9207E 错误消息时捕获 FFST。

AMQ_NO_IPV6

AMQ_NO_IPV6 环境变量在设置为任何值时生效。 设置此环境变量时,将在尝试连接时禁止使用 IPv6

amq_reverse_commit_order

AMQ_REVERSE_COMMIT_ORDER 环境变量配置队列管理器,以便在完成相应的数据库更新后,在 XA 事务中落实 IBM MQ 队列管理器更改。 仅在完成相应的数据库更新后,从队列中读取消息的应用程序才会看到消息。
注: 如果不阅读和了解 隔离级别中描述的方案,请不要设置 AMQ_REVERSE_COMMIT_ORDER
MQ 9.4.12024年10月][Linux]

amq_rdqm_no_ping_checks

设置 AMQ_RDQM_NO_PING_CHECKS 环境变量后,RDQM 配置中的 ICMP ping 将被禁用。 在配置 pacemaker 和创建队列管理器时,RDQM 使用 ICMP ping 数据包来验证远程连接。 默认情况下,拥有 sudo 权限的非 root 用户不会使用该环境变量。 要么设置 AMQ_RDQM_NO_PING_CHECKS 并以 root 身份运行安装和配置命令,要么更新 sudoers 规则以包含该环境变量。

amq_ssl_allow_default_cert

如果未设置 AMQ_SSL_ALLOW_DEFAULT_CERT 环境变量,那么仅当证书包含 ibmwebspheremquserid的标签名称时,应用程序才能连接到客户机密钥库中具有个人证书的队列管理器。 设置 AMQ_SSL_ALLOW_DEFAULT_CERT 环境变量时,证书不需要标签名称 ibmwebspheremquserid。 即,用于连接到队列管理器的证书可以是缺省证书,前提是密钥存储库中存在缺省证书,并且密钥存储库不包含前缀为 ibmwebspheremquserid的个人证书。

值 1 允许使用缺省证书。

应用程序可以使用 mqclient.ini 文件中 SSL 节的 CertificateLabel 设置,而不是使用 AMQ_SSL_ALLOW_DEFAULT_CERT 环境变量。 有关更多信息,请阅数字证书标签、 理解客户端配置文件的要求和SSL段落。

amq_ssl_ldap_server_version

在 CRL 服务器需要使用特定版本的 LDAP 协议的情况下, AMQ_SSL_LDAP_SERVER_VERSION 环境变量可用于确保 IBM MQ 加密组件使用 LDAP v2 或 LDAP v3 。

将环境变量设置为用于启动队列管理器或通道的环境中的相应值:
  • 要请求使用 LDAP v2 ,请设置 AMQ_SSL_LDAP_SERVER_VERSION=2
  • 要请求使用 LDAP v3 ,请设置 AMQ_SSL_LDAP_SERVER_VERSION=3

此环境变量不会影响 IBM MQ 队列管理器为用户认证或用户授权建立的 LDAP 连接。

AMQ_TLS_环境作用域

您可以使用 AMQ_TLS_ENVIRONMENT_SCOPE 环境变量来控制是否为整个进程使用单一 IBM Global Security Kit (GSKit) 环境 IBM MQ ,或为每个连接使用 IBM Global Security Kit (GSKit) 独立环境。 环境变量的取值与`SSL`配置项的` EnvironmentScope SSL` mqclient.ini属性相同, PROC ESS或CONNECTION( 见客户端配置文件中的SSL配置段)。 设置此环境变量将影响客户端应用程序何时检测到 TLS 密钥库的变更。 设置为CONNECTION 表示每次应用程序发起连接时都会检测TLS密钥库变更,代价是增加内存和CPU使用率。

[AIX]

AMQ_USE_ZLIBNX

AIX上, AMQ_USE_ZLIBNX 环境变量可用于使消息通道代理程序 (MCA) 能够在使用 ZLIBFAST 或 ZLIBHIGH 技术时使用硬件加速的 zlibNX 库来压缩和解压消息数据。
提示: 大小超过 2 KB 的高度可压缩消息最有可能受益于通过减少 CPU 使用率来选择使用 zlibNX 库。

zlibNX 库在具有技术级别 4 扩展包的 IBM AIX 7.2 和更高版本中提供。 如果设置了环境变量,并且未安装 zlibNX 库 (/usr/opt/zlibNX/lib/libz.a) ,那么消息通道代理程序将使用 IBM MQ for AIX 安装中提供的标准 zlib 库。

[AIX][IBM i][Linux]

AIXLinuxIBM i上, HOME 环境变量指定要搜索 mqclient.ini 文件的目录的名称。 此文件包含 IBM MQ MQI clients所使用的配置信息。

有关更多信息,请参阅 IBM MQ MQI 客户端配置文件、 mqclient.ini 以及 客户端配置文件的位置

[Windows]

HOMEDRIVE 和 HOMEPATH

要使用,必须同时设置 HOMEDRIVEHOMEPATH 环境变量。 它们在 Windows 系统上用于指定要搜索 mqclient.ini 文件的目录的名称。 此文件包含 IBM MQ MQI clients所使用的配置信息。

有关更多信息,请参阅 IBM MQ MQI 客户端配置文件、 mqclient.ini 以及客户端配置文件的位置

LDAP 基本 DN

LDAP_BASEDN 是运行 LDAP 样本程序所需的环境变量。 它指定目录搜索的基本专有名称。

LDAP_HOST

LDAP_HOST 是用于运行 LDAP 样本程序的可选环境变量。 它指定运行 LDAP 服务器的主机的名称; 如果未指定,那么缺省为本地主机。

LDAP 版本

LDAP_VERSION 是用于运行 LDAP 样本程序的可选环境变量。 它指定要使用的 LDAP 协议的版本,可以是 2 或 3。 现在,大多数 LDAP 服务器都支持版本 3 的协议; 它们都支持旧版本 2。 此样本与协议的任一版本同样有效,如果未指定此样本,那么缺省为 V 2。

[ MQ 9.4.5 2026年2月]

MQCCDTCERTVPOL

MQCCDTCERTVPOL 是CCDT证书验证策略的可选环境变量,可用于配置客户端 IBM MQ classes for JMS 库。 您可以通过指定以下 MQCCDTCERTVPOL 任一值,为通过 HTTPS 连接进行CCDT检索应用所需的验证级别:
ANY
验证对等方的证书是否有效,是否由可信机构签名,并忽略主机名验证。 若提供自定义的 SSLSocketFactory ,则其将覆盖(JSSE) Java Secure Socket Extension 的默认机制。
NONE
所有服务器证书均在未经验证的情况下被接受。 将使用一个内部处理程序实现,该实现提供一个信任所有证书的 SSLSocketFactory 实例。 若提供自定义的 SSLSocketFactory ,则会覆盖处理程序的实现。
主机名CN
验证对等方的证书是否有效、是否由可信机构签发,且证书的区分名称(包括CN和SAN扩展)与所连接的 HTTP 服务器的名称相匹配。 若提供自定义的 SSLSocketFactory ,则其将覆盖默认的 JSSE.机制。

有关更多信息,请参阅 《配置证书验证策略》 IBM MQ

mq_channel_suppress_interval

MQ_CHANNEL_SUPPRESS_INTERVAL 环境变量指定要禁止使用 MQ_CHANNEL_SUPPRESS_MSGS 定义的消息写入错误日志的时间间隔 (以秒为单位) ,以及在禁止之前允许消息在指定的时间间隔内出现的次数。 缺省值为 60,5 ,这意味着在该消息的前五次出现之后,将在 60 秒时间间隔内禁止给定消息的任何其他出现。 有关更多信息,请参阅 在 Multiplatforms 版上禁止来自错误日志的通道错误消息

环境变量 MQ_CHANNEL_SUPPRESS_INTERVAL 类似于 SuppressInterval 在文件 qm.ini 中的。

mq_channel_suppress_msgs

MQ_CHANNEL_SUPPRESS_MSGS 环境变量禁止错误日志中的通道错误消息。 您可以指定禁止的消息列表。 MQ_CHANNEL_SUPPRESS_MSGSMQ_CHANNEL_SUPPRESS_INTERVAL结合使用,后者指定每条消息在被禁止之前出现的次数以及禁止消息的时间长度。 有关更多信息,请参阅 在 Multiplatforms 版上禁止来自错误日志的通道错误消息

环境变量 SuppressMessageMQ_CHANNEL_SUPPRESS_MSGS 与文件 qm.ini 中的类似,不同之处在于:使用环境变量可抑制任何通道消息,而方法 qm.ini 则采用限制性列表机制。

[UNIX、Linux、Windows、IBM i]

MQ_CONNECT_TYPE

在 Multiplatforms 版上,可以将 MQ_CONNECT_TYPE 环境变量与 MQCONNX 调用上使用的 MQCNO 结构的 "选项" 字段中指定的绑定类型结合使用。 MQ_CONNECT_TYPE 仅对 STANDARD 绑定有任何影响。 对于其他绑定,将忽略 MQ_CONNECT_TYPE

有关更多信息,请参阅 将 MQCONNX 调用选项与 MQ_CONNECT_TYPE 配合使用

mq_cross_queue_order_all

MQ_CROSS_QUEUE_ORDER_ALL 环境变量设置为非零值时,将在工作单元中维护消息放置顺序。 这意味着,如果将工作单元 (UoW) 中的消息放入多个队列 (例如, Q1,然后是 Q2) ,那么在发出 MQCMIT 时,将以它们 PUT 的相同队列顺序传递消息并使这些消息可用。

在多队列管理器环境中,在启动每个队列管理器之前, MQ_CROSS_QUEUE_ORDER_ALL 必须存在并且在发送端和接收端都具有非空值。

mq_ephemeral_prefix

MQ_EPHEMERAL_PREFIX 环境变量指定队列管理器的临时目录的路径,当队列管理器正在运行时,将在此目录中保留临时队列管理器数据。

作为替代方案,您无需通过修改 AllQueueManagers 配置 mqs.iniDefaultEphemeralPrefix 段中的属性 EphemeralPrefix 来更改临时前缀,而是可以使用环境变量 MQ_EPHEMERAL_PREFIX 覆盖 EphemeralPrefix 命令 crtmqm 的临时前缀。 有关更多信息,请参阅可配置临时目录

[Windows]

消息队列文件路径

MQ_FILE_PATH 环境变量是在 Windows 平台上安装运行时包期间配置的。 此环境变量包含与 Windows 注册表中的以下键相同的数据:
HKEY_LOCAL_MACHINE\SOFTWARE\IBM\WebSphere MQ\Installation\InstallationName\FilePath

有关更多信息,请参阅 setmqenv (set IBM MQ environment)crtmqenv (create IBM MQ environment)

MQ_JAVA_DATA_PATH

MQ_JAVA_DATA_PATH 环境变量指定 IBM MQ classes for JMSIBM MQ classes for Jakarta MessagingIBM MQ classes for Java的日志和跟踪输出目录。 它由 IBM MQ classes for JMS 以及 IBM MQ classes for Jakarta MessagingIBM MQ classes for Java随附的脚本使用。

有关更多信息,请参阅 为 JMS/Jakarta Messaging 设置 IBM MQ 类的环境变量与 IBM MQ Java 类相关的环境变量

MQ_JAVA_INSTALL_PATH

MQ_JAVA_INSTALL_PATH 环境变量指定 IBM MQ classes for JMSIBM MQ classes for Jakarta Messaging 的目录,如 为 IBM MQ classes for JMS安装的内容中所示,以及如 IBM MQ classes for Java 安装目录 中所示的 IBM MQ classes for Java 的安装目录。

有关更多信息,请参阅 为 JMS/Jakarta Messaging 设置 IBM MQ 类的环境变量与 IBM MQ Java 类相关的环境变量

MQ_JAVA_LIB_PATH

MQ_JAVA_LIB_PATH 环境变量指定存储 IBM MQ classes for JMSIBM MQ classes for Jakarta Messaging以及 IBM MQ classes for Java 库的目录。 某些随 IBM MQ classes for JMSIBM MQ classes for Jakarta Messaging 提供的脚本 (例如 IVTRun) 或 IBM MQ classes for Java 使用此环境变量。

有关更多信息,请参阅 为 JMS/Jakarta Messaging 设置 IBM MQ 类的环境变量与 IBM MQ Java 类相关的环境变量

[UNIX、Linux、Windows、IBM i]

MQ_LCLADDR

多平台上,可以设置 MQ_LCLADDR 环境变量来定义默认本地地址值,该值将用于所有未定义本地地址的发送方通道。 默认值通过在启动队列管理器之前设置 MQ_LCLADDR 环境变量来定义。 值的格式必须与 MQSC 属性 LOCLADDR 的格式一致。 有关更多信息,请参阅 LOCLADDR(本地地址)使用自动定义的集群发送者通道

mq_override_data_path

您可以使用 MQ_OVERRIDE_DATA_PATH 环境变量来更改 IBM MQ 数据路径的缺省目录。

[AIX]

mq_set_nodelayack

MQ_SET_NODELAYACK 环境变量在 AIX上关闭 TCP 延迟应答。

设置此环境变量时,该设置通过使用 TCP_NODELAYACK 选项调用操作系统的 setsockopt 调用来关闭 TCP 延迟应答。 只有 AIX 支持此函数,因此 MQ_SET_NODELAYACK 环境变量仅对 AIX有影响。

[Linux]

MQ_USER_NAME

如果用户没有密码文件条目,或者用户名与其用户标识符相匹配,则可以使用 MQ_USER_NAME 环境变量允许 Linux 上的 IBM MQ 非安装镜像选择用户名。 例如,在 OpenShift 中使用发布/订阅层次结构时就需要这样做。

MQ_USER_NAME 的值不得与系统上预先存在的用户匹配,并且必须小于或等于 12 个字节。

mqapi_trace_logfile

样本 API 出口程序生成对具有 MQAPI_TRACE_LOGFILE 环境变量中定义的前缀的用户指定文件的 MQI 跟踪。

有关更多信息,请参阅 API 出口样本程序

[AIX、Linux 和 Windows]

MQApplName

如果尚未选择应用程序名称,那么可以使用 MQAPPLNAME 环境变量作为用于标识与队列管理器的连接的名称。 仅使用前 28 个字符,它们不能全部为空白或空。

有关更多信息,请参阅 使用受支持编程语言中的应用程序名称

MQCCSID

MQCCSID 环境变量指定要使用的编码字符集编号,并覆盖配置了服务器的 CCSID 值。 MQCCSID 可用于覆盖应用程序的本机 CCSID 并指定要使用的编码字符集号,例如,如果本机 CCSID 是不受支持的 CCSID 或不是必需的 CCSID。

要设置 MQCCSID,请使用下列其中一个命令:
  • [AIX][Linux]AIX and Linux
    export MQCCSID=number
    
  • [Windows]Windows
    SET MQCCSID=number
    
  • [IBM i]IBM i
    ADDENVVAR ENVVAR(MQCCSID) VALUE(number)
    

有关更多信息,请参阅 选择客户机或服务器 CCSID

MQCCDTURL

MQCCDTURL 环境变量提供了设置 MQCHLLIBMQCHLTAB 环境变量组合的等效功能。 使用该变量可为作为客户机连接的本地程序(C、 COBOL 或 C++ 应用程序)提供 fileftphttp URL 作为单一值,并从中获取客户机通道定义表。 MQ 9.4.12024年10月]IBM MQ 9.4.1https 网址也受支持。
注:
  • 使用环境变量提供 URL 对 JavaJMS 或托管 .NET 应用程序没有影响。
  • URL 的最大长度是操作系统的最大文件路径长度。

IBM MQ 支持从文件、FTP或HTTP获取 URLCCDT。 MQ 9.4.12024年10月]或,从 IBM MQ 9.4.1,一个 https URL 但是,"MQCCDTURL不接受 FTP 值。 它只接受 URL 值或使用 "file://"协议指定的文件。

例如,当使用 MQCCDTURL 代替 MQCHLLIBMQCHLTAB 并在 AIXLinux 上设置本地文件时,该命令:
export MQCCDTURL=file:///var/mqm/qmgrs/QMGR/@ipcc/MYCHL.TAB
相当于:
export MQCHLLIB=/var/mqm/qmgrs/QMGR/@ipcc
export MQCHLTAB=MYCHL.TAB
您还可以为 Windows指定 JSON 文件,如以下示例中所示:
set MQCCDTURL=file:/c:/mq-channels/CCDT-QMGR1.json
相当于:
set MQCHLLIB=C:\mq-channels
set MQCHLTAB=CCDT-QMGR1.json

有关更多信息,请参阅 URL 访问 CCDT

MQCERTLABL

MQCERTLABL 环境变量定义通道定义的证书标签,以供 IBM MQ 用于查找在 TLS 握手期间发送的个人证书。

有关更多信息,请参阅 数字证书标签,了解需求

MQCERTVPOL

MQCERTVPOL 环境变量指定要使用的证书验证策略的类型。 此环境变量将覆盖客户机配置文件的 SSL 节中的 CertificateValPolicy 属性。

MQCERTVPOL 可以设置为以下值之一:
ANY
使用底层安全套接字库支持的任何证书验证策略。 此设置为缺省设置。
RFC5280
仅使用符合 RFC 5280 标准的证书验证。
[MQ 9.4.0 2024年7月][MQ 9.4.0 2024年7月]
不要使用任何证书验证策略。 此设置仅适用于客户端应用程序。
要设置 MQCERTVPOL,请使用下列其中一个命令:
  • [AIX][Linux]对于 AIX and Linux 系统:
    export MQCERTVPOL= value
    
  • [Windows]对于 Windows 系统:
    SET MQCERTVPOL= value
    
  • [IBM i]对于 IBM i 系统:
    ADDENVVAR ENVVAR(MQCERTVPOL) VALUE(value)
    

有关更多信息,请参阅 IBM MQ 中的证书验证策略在 IBM MQ 中配置证书验证策略

MQCHLLIB

MQCHLLIB 环境变量指定包含客户机通道定义表 (CCDT) 的文件的目录路径。 该文件在服务器上创建,但可以复制到 IBM MQ MQI client 工作站。

要设置 MQCHLLIB,请使用下列其中一个命令:
  • [Windows]Windows
    SET MQCHLLIB=pathname
    
    例如:
    SET MQCHLLIB=C:\wmqtest
    
  • [AIX][Linux]对于 AIX and Linux 系统:
    export MQCHLLIB=pathname
    
  • [IBM i]IBM i
    ADDENVVAR ENVVAR(MQCHLLIB) VALUE(pathname)
    
如果未设置 MQCHLLIB ,那么客户机的路径缺省为:
  • [AIX][Linux]AIX and Linux/var/mqm/
  • [Windows]关于 WindowsMQ_INSTALLATION_PATH
  • [IBM i]IBM i/QIBM/UserData/mqm/
对于 crtmqmstrmqm 命令,路径缺省为两组路径之一。 如果设置了 datapath ,那么路径缺省为第一个集合之一。 如果未设置 datapath ,那么路径缺省为第二个集合之一。
  • [AIX][Linux]AIX and Linuxdatapath/@ipcc
  • [Windows]Windowsdatapath\@ipcc
  • [IBM i]IBM idatapath/&ipcc
或者:
  • [AIX][Linux]AIX and Linux/prefix/qmgrs/qmgrname/@ipcc
  • [Windows]WindowsMQ_INSTALLATION_PATH\data\qmgrs\qmgrname\@ipcc
  • [IBM i]IBM i/prefix/qmgrs/qmgrname/&ipcc
其中:
  • MQ_INSTALLATION_PATH 表示安装了 IBM MQ 的高级目录。
  • 如果存在,那么 datapath 是队列管理器节中定义的 DataPath 的值。
  • prefix 是队列管理器节中定义的前缀的值。 前缀通常是下列其中一个值:
    • [AIX][Linux]/var/mqmAIX and Linux 系统上。
    • [IBM i]/QIBM/UserData/mqm/IBM i.
  • qmgrname 是队列管理器节中定义的 Directory 属性的值。 该值可能与实际队列管理器名称不同。 该值可能已更改以替换特殊字符。
  • 定义队列管理器节的位置取决于平台:
    • [AIX][IBM i][Linux]在关于 mqs.ini 的文件中 IBM iAIX and Linux
    • [Windows]在注册表中 Windows
注:
  1. [z/OS]若您使用 IBM MQ for z/OS® 作为服务器,该文件必须保存在 客户端 IBM MQ 工作站上。
  2. 如果设置了此属性,那么 MQCHLLIB 将覆盖用于查找 CCDT 的路径。
  3. MQCHLLIB 可包含 URL ,该文件需与MQCHLTAB环境变量配合使用(参见 URL 访问CCDT )。
  4. 环境变量 (例如 MQCHLLIB) 可以特定于平台的方式作用域限定为进程,作业或系统范围。
  5. 如果在服务器上设置 MQCHLLIB 系统范围,那么它会为服务器上的所有队列管理器设置到 CCDT 文件的相同路径。 如果未设置 MQCHLLIB 环境变量,那么每个队列管理器的路径都不同。 队列管理器在 crtmqmstrmqm 命令上读取 MQCHLLIB的值 (如果已设置)。
  6. 如果在一个服务器上创建多个队列管理器,那么区分很重要,原因如下。 如果在系统范围内设置 MQCHLLIB ,那么每个队列管理器都会更新相同的 CCDT 文件。 该文件包含来自服务器上所有队列管理器的客户机连接定义。 如果多个队列管理器 (例如, SYSTEM.DEF.CLNTCONN ) 上存在相同的定义,那么该文件将包含最新定义。 创建队列管理器时,如果设置了 MQCHLLIB ,那么将在 CCDT 中更新 SYSTEM.DEF.CLNTCONN 。 更新将覆盖由其他队列管理器创建的 SYSTEM.DEF.CLNTCONN 。 如果您修改了先前的定义,那么您的修改将丢失。 因此,您必须考虑查找将 MQCHLLIB 设置为服务器上的系统范围环境变量的替代方法。
  7. 客户机连接定义上的 MQSC 和 PCF NOREPLACE 选项不会检查 CCDT 文件的内容。 将替换先前创建但未由此队列管理器创建的同名客户机连接通道定义,而不考虑 NOREPLACE 选项。 如果定义先前由同一队列管理器创建,那么不会替换该定义。
  8. rcrmqobj -t clchltab 命令将删除并重新创建 CCDT 文件。 将仅使用在运行该命令的队列管理器上创建的客户机连接定义来重新创建该文件。
  9. 其他用于更新 CCDT 的命令仅修改具有相同通道名称的客户机连接通道。 不会更改文件中的其他客户机连接通道。
  10. MQCHLLIB 的路径不需要引号。

有关更多信息,请阅CCDT的位置、 URL 访问CCDT ,以及使用环境变量将客户端应用程序连接到队列管理器

MQCHLTAB

MQCHLTAB 环境变量指定包含客户机通道定义表 (CCDT) 的文件的名称。 缺省文件名为 AMQCLCHL.TAB

要设置 MQCHLTAB,请使用下列其中一个命令:
  • [AIX][Linux]AIX and Linux
    export MQCHLTAB=filename
    
  • [Windows]Windows
    SET MQCHLTAB=filename
    
  • [IBM i]IBM i
    ADDENVVAR ENVVAR(MQCHLTAB) VALUE(filename)
    
例如:
SET MQCHLTAB=ccdf1.tab

与客户机相同,服务器上的 MQCHLTAB 环境变量指定客户机通道定义表的名称。

有关更多信息,请阅CCDT的位置、 URL 访问CCDT ,以及使用环境变量将客户端应用程序连接到队列管理器

MQCLNTCF

MQCLNTCF 环境变量指定 IBM MQ MQI client 配置文件的位置。 此文件包含 IBM MQ MQI clients所使用的配置信息。

以下列出有效格式的示例。 您可以选择除 mqclient.ini. 以外的其他文件名。 您可以选择系统中任何在运行时可被客户端读取的有效路径。

[AIX][Linux]以下 AIX and Linux 是在系统上文件位于 /data/mqclient.ini. 时的 MQCLNTCF 有效设置示例:
export MQCLNTCF=/data/mqclient.ini
export MQCLNTCF=file:/data/mqclient.ini
export MQCLNTCF=file:////data/mqclient.ini
export MQCLNTCF=file://localhost//data/mqclient.ini
[Windows]以下 Windows 是在系统上文件位于 C:\data\mqclient.ini. 时的 MQCLNTCF 有效设置示例:
set MQCLNTCF=C:\data\mqclient.ini
set MQCLNTCF=file:C:\data\mqclient.ini
set MQCLNTCF=file:///C:\data\mqclient.ini
set MQCLNTCF=file://localhost/C:\data\mqclient.ini

[z/OS]z/OS 平台无法用于运行 IBM MQ 客户端。 因此,该 mqclient.ini 文件在 上不存在 IBM MQ for z/OS

有关更多信息,请参阅 IBM MQ MQI 客户端配置文件、 mqclient.ini 以及 客户端配置文件的位置

mqdotnet_trace_on

MQDOTNET_TRACE_ON 环境变量用于对 IBM MQ .NET 可再分发客户机启用跟踪。 等于或小于 0 的值不会启用跟踪, 1 会启用缺省跟踪,而大于 1 的值会启用详细信息跟踪。

有关更多信息,请参阅 跟踪 IBM MQ .NET 应用程序使用环境变量跟踪 IBM MQ .NET 应用程序

MQIPADDRV

MQIPADDRV 环境变量指定要用于通道连接的 IP 协议。 它具有可能的字符串值 "MQIPADDR_IPV4""MQIPADDR_IPV6"。 这些值与 ALTER QMGR IPADDRV 中的 IPv4IPv6 以及客户机配置文件的 TCP 节的 IPAddressVersion 属性具有相同的含义。 如果未设置环境变量,那么将采用 "MQIPADDR_IPV4"

要设置 MQIPADDRV,请使用下列其中一个命令:
  • [AIX][Linux]AIX and Linux
    export MQIPADDRV=MQIPADDR_IPV4|MQIPADDR_IPV6"/>
    
  • [Windows]Windows
    SET MQIPADDRV=MQIPADDR_IPV4|MQIPADDR_IPV6
    
  • [IBM i]IBM i
    ADDENVVAR ENVVAR(MQIPADDRV) VALUE(MQIPADDR_IPV4|MQIPADDR_IPV6)
    

MQ密钥密码

当您设置MQKEYRPWD环境变量,它指定保存属于用户的数字证书的密钥存储库的密码。 如果MQKEYRPWD使用时,必须在设置环境变量的值之前对密码进行加密。

要设置 MQKEYRPWD,请使用下列其中一个命令:
  • [AIX][Linux]AIX and Linux 系统上:
    export MQKEYRPWD=passphrase
  • [Windows]Windows 系统上:
    SET MQKEYRPWD=passphrase
  • [IBM i]IBM i
    ADDENVVAR ENVVAR(MQKEYRPWD) VALUE(passphrase)

此环境变量没有缺省值。

[Linux]

MQ许可证

Linux 系统上,可以在安装产品后使用 MQLICENSE 环境变量来接受或查看 IBM MQ 许可证。

有关为何希望或需要在安装后接受许可证的详细信息,请参阅 IBM MQ for Linux 上的 "接受许可证 "。

重要: 如果您在安装产品后使用 MQLICENSE 环境变量来接受或查看 IBM MQ 许可证,请注意以下几点:
  • 通过设置 MQLICENSE 环境变量接受许可证仅对当前会话有效。
  • 如果在通过设置 MQLICENSE 环境变量接受许可证后运行 dspmqver 命令,则仍会显示许可证未被接受。
可以将 MQLICENSE 环境变量设置为以下两个值之一:
接受
接受安装后的许可证。
要接受安装后的许可证,请使用以下命令:
export MQLICENSE=accept
视图
显示许可证 (如果已接受许可证)。
要查看许可证,请使用以下命令:
export MQLICENSE=view
注: 您还可以使用以下命令来接受和显示许可证:
[UNIX、Linux、Windows、IBM i]

mqmaxerrorlogsize

MQMAXERRORLOGSIZE 环境变量指定复制到备份的队列管理器错误日志的大小。

有关更多信息,请参阅 使用错误日志

[Windows]

消息队列名称

MQNAME 环境变量指定 IBM MQ 进程可以使用的本地 NetBIOS 名称。 NetBIOS 连接仅适用于运行 Windows的客户机和服务器。

要设置 MQNAME,请使用以下命令:
SET MQNAME=Your_env_Name
例如:
SET MQNAME=CLIENT1

如果要在 IBM MQ MQI client上同时运行多个 IBM MQ 应用程序,那么某些 NetBIOS 实现需要每个应用程序的唯一名称 (由 MQNAME设置)。

有关更多信息,请参阅定义 IBMMQ local NetBIOS name

MQNOREMPOOL

设置 MQNOREMPOOL 环境变量时,它会关闭通道池并使通道作为侦听器的线程运行。

有关更多信息,请参阅 MCATYPE (消息通道代理程序类型)

mqpse_trace_logfile

运行 "发布出口样本程序" AMQSPSE0时使用 MQPSE_TRACE_LOGFILE 环境变量,该程序是出口的样本 C 程序,用于在将发布交付到订户之前拦截该发布。 在要跟踪的应用程序进程中,此环境变量描述必须将跟踪文件写入的位置。

有关更多信息,请参阅 "发布出口" 样本程序

mqs_amscred_keyfile

您可以使用 MQS_AMSCRED_KEYFILE 环境变量来覆盖或提供要在 IBM MQ Advanced Message Security (AMS) 应用程序运行时使用的初始密钥文件,或者使用 runamscred 命令保护密钥库配置文件时使用的初始密钥文件。

有关更多信息,请参阅 将密钥库和证书与 AMS保护 IBM MQ 组件配置文件中的密码配合使用。

mqs_disable_all_intercept

如果存在以下情况,那么可以使用 MQS_DISABLE_ALL_INTERCEPT 环境变量来禁用 IBM MQ Advanced Message Security (AMS)2085 (MQRC_UNKNOWN_OBJECT_NAME)当您尝试从较低版本的产品连接到队列管理器并且将 IBM MQ 与本机 C 客户机配合使用时,将报告错误。
注: 只能将 MQS_DISABLE_ALL_INTERCEPT 环境变量用于 C 客户机。 对于 Java 客户机,需要改为使用 AMQ_DISABLE_CLIENT_AMS 环境变量。

有关更多信息,请参阅 在客户机上禁用高级消息安全性

MQS_IPC_主机

由于 IPC 文件系统对象必须由系统区分,因此将队列管理器运行所在的每个系统的一个子目录添加到目录路径中。 如果生成的主机名值产生问题,那么可以使用 MQS_IPC_HOST 环境变量来设置主机名。

有关更多信息,请参阅 在多平台上共享 IBM MQ 文件

mqs_keystore_conf

MQS_KEYSTORE_CONF 环境变量指定 IBM MQ Advanced Message Security (AMS) 的密钥库配置文件的位置 (如果该文件不在 home_directory/.mqs/keystore.conf的缺省位置)。

有关更多信息,请参阅 将密钥库和证书用于 AMS

如果您在 Managed File Transfer上迂到问题,请参阅 MFT 未读取 AMS 的密钥库属性时进行故障诊断

mqs_mqi_keyfile

设置 MQS_MQI_KEYFILE 环境变量时,它指定初始密钥文件的位置,该文件包含要用于密码保护操作的初始密钥。 如果未指定初始密钥文件,那么 IBM MQ 密码保护系统将使用缺省初始密钥。

要设置 MQS_MQI_KEYFILE,请使用下列其中一个命令:
  • [AIX][Linux]AIX and Linux 系统上:
    export MQS_MQI_KEYFILE=key file location
  • [Windows]Windows 系统上:
    SET MQS_MQI_KEYFILE=key file location
  • [IBM i]IBM i
    ADDENVVAR ENVVAR(MQS_MQI_KEYFILE) VALUE(key file location)

有关更多信息,请参阅 AIX, Linux, and Windows 上的 IBM MQ MQI client 提供初始密钥IBM i 上的 IBM MQ MQI client 提供初始密钥

mqs_sslcryp_keyfile

MQS_SSLCRYP_KEYFILE 环境变量是一种替代方法,用于指定包含用于对 PKCS #11 加密硬件配置字符串中的密码进行加密的初始密钥的文件的完整路径和名称,而不是使用 qm.iniSSL 节 中的 SSLCryptoHardwareKeyFile 属性对其进行指定。 MQS_SSLCRYP_KEYFILE 的优先级高于 qm.ini 文件,因此其值优先于任何其他值。 有关更多信息,请参阅 IBM MQ 使用加密硬件的客户机

[AIX]

MQS_TRACE_OPTIONS

对于 AIX上的选择性组件跟踪,请使用 MQS_TRACE_OPTIONS 环境变量来分别激活高详细信息和参数跟踪功能。
注: 仅当 IBM 支持人员指示您设置 MQS_TRACE_OPTIONS 环境变量时才设置该环境变量。

有关更多信息,请参阅 AIX and Linux上的跟踪

[Linux]

mqs_getgrouplist_api

MQS_GETGROUPLIST_API 环境变量通过使用速度更快的 getgrouplist API 而不是速度更慢的 getgrent API 来提高性能。 如果企业有成千上万个组需要搜索,这有助于避免队列管理器超时。

要启用 MQS_GETGROUPLIST_API 环境变量,需要执行以下操作:
  1. 停止队列管理器。
  2. 发出以下命令:
    export MQS_GETGROUPLIST_API=1
  3. 重新启动队列管理器。

这一更改还可以解决 RC2035 与用户组访问相关的错误。 有关 MQS_GETGROUPLIST_API 变量的更多信息,请参阅 Linux 上的解决某些组员资格问题

MQSERVER

MQSERVER 环境变量用于定义最小通道。 MQSERVER 指定 IBM MQ 服务器的位置以及要使用的通信方法。
注: 不能使用 MQSERVER 来定义 TLS 通道或具有通道出口的通道。 有关如何定义 TLS 通道的更多信息,请参阅 使用 TLS 保护通道
以下示例显示如何设置 MQSERVER:
  • [AIX][Linux]AIX and Linux
    export  MQSERVER='SYSTEM.DEF.SVRCONN/TCP/AMACHINE.ACOMPANY.COM(1414)' 
    
  • [Windows]Windows
    SET  MQSERVER=SYSTEM.DEF.SVRCONN/TCP/AMACHINE.ACOMPANY.COM(1414) 
    
  • [IBM i]IBM i
    ADDENVVAR ENVVAR(MQSERVER) VALUE('SYSTEM.DEF.SVRCONN/TCP/AMACHINE.ACOMPANY.COM(1414)')
    
注:
  • 通道名称不能包含正斜杠 (/) 字符,因为此字符用于分隔通道名称,传输类型和连接名称。 当使用 MQSERVER 环境变量来定义客户机通道时,将使用最大消息长度 (MAXMSGL) 100 MB。 因此,对通道有效的最大消息大小是在服务器上的 SVRCONN 通道中指定的值。
  • 传输类型可以是 LU62 TCP NETBIOSSPX之一,具体取决于您的 IBM MQ 客户机平台。
  • 连接名称必须是标准网络名。 例如,AMACHINE.ACOMPANY.COM(1414)
  • 连接名称可以是以逗号分隔的连接名称列表。 列表中的连接名称以类似于客户机连接表中的多个连接的方式使用。 连接名称列表可用作队列管理器组的替代方法,以指定客户机要尝试的多个连接。 如果要配置多实例队列管理器,那么可以使用连接名称列表来指定不同的队列管理器实例。

如果使用 MQSERVER 环境变量来定义 IBM MQ MQI client 机器与服务器之间的通道,那么这是可供应用程序使用的唯一通道,并且不会引用客户机通道定义表 (CCDT)。

有关更多信息,请参阅 《 IBM 》中的“创建客户端连接通道”,了解如何使用MQSERVER创建 MQ MQI客户端

MQSNOAUT

警告: 建议不要使用此功能。

当您将 MQSNOAUT 环境变量设置为任何值时,它将禁用对象权限管理器 (OAM) 并阻止任何安全性检查。 这可能适用于测试环境。 这包括授权和连接认证功能。 TLS ,通道认证记录和安全出口不受影响。

MQSNOAUT 环境变量仅在创建队列管理器时生效。
警告: 要启用 OAM ,必须删除队列管理器,删除环境变量,然后在不指定 MQSNOAUT的情况下重新创建队列管理器。

有关更多信息,请参阅 在 AIX, Linux和 Windows 系统上防止安全访问检查

MQSPREFIX

作为更改缺省前缀的替代方法,您可以使用 MQSPREFIX 环境变量来覆盖 crtmqm 命令的 DefaultPrefix

更多信息请参见 IBM MQ 文件名AllQueueManagers 文件的 mqs.ini 诗节

[AIX、Linux 和 Windows]

MQSSL加密

MQSSLCRYP 环境变量包含可用于配置系统上存在的加密硬件的参数字符串。

允许的值与客户机配置文件的 SSL 节中的 SSLCryptoHardware 字段相同。

要设置 MQSSLCRYP,请使用下列其中一个命令:
  • [AIX][Linux]AIX and Linux 系统上:
    export MQSSLCRYP=string
    
  • [Windows]Windows 系统上:
    SET MQSSLCRYP=string
    

有关更多信息,请参阅 保护 IBM MQ 组件配置文件中的密码中的 AIX, Linux, and WindowsIBM MQ clients 上配置使用加密硬件的加密硬件

MQSSLFIPS

[ MQ 9.4.4 2025 年 10 月]MQSSLFIPS 环境变量用于指定在执行加密操作时,是否仅使用 FIPSIBM MQ 经过认证的加密库和算法。

[长期支持]MQSSLFIPS 环境变量指定在执行加密操作时是否仅 IBM MQ使用经过 FIPS 认证的算法。

您可以将此环境变量设置为 "是 " 或 " ",默认值为 " "。 这些值与 SSLFIPS 命令中的 ALTER QMGR 命令的参数相同。

要设置 MQSSLFIPS,请使用下列其中一个命令:
  • [AIX][Linux]AIX and Linux 系统上:
    export MQSSLFIPS=YES|NO
    
  • [Windows]Windows 系统上:
    SET MQSSLFIPS=YES|NO
    
  • [IBM i]IBM i
    ADDENVVAR ENVVAR(MQSSLFIPS) VALUE(YES|NO)
    

FIPS 认证算法的使用受到加密硬件使用的影响。 更多信息,请参阅在 MQI 客户端上指定运行时仅使用 FIPS 认证的 CipherSpecs

MQSSL密钥

MQSSLKEYR 环境变量指定保存属于用户的数字证书的密钥存储库的位置。

指定密钥存储库的完整路径和文件名。 如果未指定文件后缀,那么假定其为 .kdb

要设置 MQSSLKEYR,请使用下列其中一个命令:
  • [AIX][Linux]AIX and Linux 系统上:
    export MQSSLKEYR=pathname
    
  • [Windows]Windows 系统上:
    SET MQSSLKEYR=pathname
    
  • [IBM i]IBM i
    ADDENVVAR ENVVAR(MQSSLKEYR) VALUE(pathname)
    

此环境变量没有缺省值。

有关更多信息,请参阅 ALTER QMGR 命令的 SSLKEYR 参数。

MQSSLPROXY

MQSSLPROXY 环境变量指定 GSKit 用于 OCSP 检查的 HTTP 代理服务器的主机名和端口号。

要设置 MQSSLPROXY,请使用下列其中一个命令:
  • [AIX][Linux]AIX and Linux 系统上:
    export MQSSLPROXY="string"
    
  • [Windows]Windows 系统上:
    SET MQSSLPROXY= string
    

MQSSLPROXY 指定的字符串可以是 GSKit 用于 OCSP 检查的 HTTP 代理服务器的主机名或网络地址。 此地址可以后跟可选端口号 (括在括号内)。 如果不指定端口号,那么将使用缺省 HTTP 端口 80。

[AIX][Linux]例如, AIX and Linux 在系统上,您可以使用以下命令之一:
  • export MQSSLPROXY="proxy.example.com(80)"
    
  • export MQSSLPROXY="127.0.0.1"
    

有关更多信息,请参阅 使用联机证书状态协议 (OCSP)

MQSSL重置

MQSSLRESET 环境变量指定在重新协商 TLS 密钥之前在 TLS 通道上发送和接收的未加密字节数。 它可以设置为 0 到 999 999 范围内的整数。 缺省值为 0 ,指示永远不会重新协商密钥。 如果指定 1 字节到 32 KB 范围内的 TLS 密钥重置计数,那么 TLS 通道将使用 32 KB 的密钥重置计数。 此密钥重置计数是为了避免对小型 TLS 密钥重置值进行过多的密钥重置。

要设置 MQSSLRESET,请使用下列其中一个命令:
  • [AIX][Linux]AIX and Linux 系统上:
    export MQSSLRESET=integer
    
  • [Windows]Windows 系统上:
    SET MQSSLRESET=integer
    
  • [IBM i]IBM i
    ADDENVVAR ENVVAR(MQSSLRESET) VALUE(integer)
    

有关更多信息,请参阅 重置 SSL 和 TLS 密钥

[AIX、Linux 和 Windows]

MQSUITEB

您可以在 AIX, Linux, and Windows 平台上配置 IBM MQ 以符合 NSA Suite B 标准。

MQSUITEB 环境变量指定是否使用符合 Suite B 的密码术。 如果要使用 Suite B 密码术,那么可以通过将 MQSUITEB 设置为下列其中一项来指定密码术的强度:
  • NONE
  • 128_BIT, 192_BIT
  • 128_BIT
  • 192_BIT

您可以使用逗号分隔列表来指定多个值。 将值 NONE 与任何其他值配合使用无效。

有关更多信息,请参阅 配置 IBM MQ for Suite B

消息队列传输协议超时

MQTCPTIMEOUT 环境变量指定 IBM MQ 等待 TCP 连接调用的时间长度。

[AIX、Linux 和 Windows]

MQTRACEPATH

当处理 IBM MQ 队列管理器或基于C语言的 IBM MQ client 应用程序的冗长痕迹时,您可以使用环境变量 MQTRACEPATH 指向磁盘空间更大的目录,从而缓解潜在的磁盘空间问题。
  • AIX and Linux 上:
    set MQTRACEPATH=/other/mqtrace
  • Windows 上:
    set MQTRACEPATH=D:\mqtrace

欲了解更多信息,请发送电子邮件至 追踪 AIX and Linux追踪 Windows

如果您正在使用应用程序配置文件追踪 IBM MQ classes for .NET Framework 客户端,您可以发送 MQTRACEPATH 邮件来指定创建追踪文件的文件夹。 更多信息,请参阅使用应用程序配置文件追踪 IBM MQ classes for .NET Framework 客户端

ODQ_MSG

如果使用与 runmqdlq不同的死信队列处理程序,那么样本的源 amqsdlq可供您用作基础。 该样本类似于产品中提供的死信处理程序,但跟踪和错误报告不同。 使用 ODQ_MSG 环境变量来设置包含错误消息和参考消息的文件的名称。 提供的文件称为 amqsdlq.msg

有关更多信息,请参阅 死信队列处理程序样本

ODQ_TRACE

如果使用与 runmqdlq不同的死信队列处理程序,那么样本的源 amqsdlq可供您用作基础。 该样本类似于产品中提供的死信处理程序,但跟踪和错误报告不同。 要启用跟踪,请将 ODQ_TRACE 环境变量设置为 YESyes

有关更多信息,请参阅 死信队列处理程序样本

[ MQ 9.4.5 2026年2月]

TOKENCERTVPOL

TOKENCERTVPOL 是用于JWT证书验证策略的可选环境变量,可为客户端 IBM MQ classes for JMS 库进行配置。 您可以使用 TOKENCERTVPOL 来应用通过 HTTPS 连接检索令牌所需的验证级别。 您可以通过指定以下任一值,为通过 HTTPS 连接进行CCDT检索应用所需的验证级别:
ANY
验证对等方的证书是否有效,是否由可信机构签名,并忽略主机名验证。 若提供自定义的 SSLSocketFactory ,则其将覆盖(JSSE) Java Secure Socket Extension 的默认机制。
NONE
所有服务器证书均在未经验证的情况下被接受。 将使用一个内部处理程序实现,该实现提供一个信任所有证书的 SSLSocketFactory 实例。 若提供自定义的 SSLSocketFactory ,则会覆盖处理程序的实现。
主机名CN
验证对等方的证书是否有效、是否由可信机构签发,且证书的区分名称(包括CN和SAN扩展)与所连接的 HTTP 服务器的名称相匹配。 若提供自定义的 SSLSocketFactory ,则其将覆盖默认的 JSSE.机制。

有关更多信息,请参阅 《配置证书验证策略》 IBM MQ

WCF_TRACE_ON

WCF 定制通道可以使用两种不同的跟踪方法。 这两种跟踪方法可以独立激活,也可以一起激活。 每种方法都会生成各自的跟踪文件,所以当两种跟踪方法都激活时,会生成两个输出文件。 可以使用四种组合来启用和禁用 2 种不同的跟踪方法。 除了这些用于启用 WCF 跟踪的组合外,还可以使用 WCF_TRACE_ON 环境变量来启用 XMS .NET 跟踪。

有关更多信息,请参阅 跟踪 IBM MQ的 WCF 定制通道

WMQSOAP_HOME

IBM MQ中正确安装和配置 .NET SOAP over JMS 服务托管环境之后,完成其他配置步骤时,将使用 WMQSOAP_HOME 环境变量。 可从本地队列管理器进行访问。

有关更多信息,请参阅 WCF 客户机到 IBM MQ 样本托管的 .NET 服务WCF 客户机到由 IBM MQ 样本托管的 Axis Java 服务

XMS_TRACE_ON、XMS_TRACE_FILE_NUMBER、XMS_TRACE_FILE_PATH、XMS_TRACE_FILE_SIZE、XMS_TRACE_FORMAT 和 XMS_TRACE_SPECIFICATION

如果您正在使用 IBM MQ classes for XMS .NET Framework,那么可以从应用程序配置文件以及 XMS 环境变量配置跟踪。 如果您正在使用 IBM MQ classes for XMS .NET (.NET Standard.NET 6 库),那么必须从 XMS 环境变量配置跟踪。 通常在 IBM 支持人员的指导下使用跟踪。

要为 XMS .NET 应用程序启用和配置跟踪,请在运行应用程序之前设置以下环境变量:
XMS_TRACE_ON
如果设置了 XMS_TRACE_ON 环境变量,那么缺省情况下将启用所有跟踪。
xms_trace_file_number
XMS_TRACE_FILE_NUMBER 环境变量指定要保留的跟踪文件数量。 缺省值为 4(1 个活动文件和 3 个归档文件)。 允许的最小数目是 2。
XMS_TRACE_FILE_PATH
XMS_TRACE_FILE_PATH 环境变量指定跟踪和 FFDC 记录写入的目录的标准路径名 (如果您希望将这些记录从当前工作目录写入备用位置)。
xms_trace_file_size
XMS_TRACE_FILE_SIZE 环境变量指定了跟踪文件的最大允许大小。 当文件达到此大小时,会将其归档并重命名。 默认最大值为 20 MB。 文件大小以字节为单位。 例如,XMS_TRACE_FILE_SIZE=20000000
XMS_TRACE_FORMAT
XMS_TRACE_FORMAT 环境变量指定必需的跟踪格式,可以是 BASICADVANCED
XMS_TRACE_SPECIFICATION
XMS_TRACE_SPECIFICATION 环境变量将覆盖在应用程序配置文件的 跟踪部分中定义的跟踪设置。 XMS_TRACE_SPECIFICATION 仅适用于 IBM MQ classes for XMS .NET Framework

有关更多信息,请参阅 跟踪 XMS .NET 应用程序使用 XMS 环境变量跟踪 XMS .NET 应用程序