mqsichangeproperties 命令

支持的平台

  • Windows
  • Linux 和 UNIX 系统
  • 有关 z/OS 到 BIPJCHPR 实用程序的信息,请参阅 代理 PDSE 的内容

用途

使用 mqsichangeproperties 命令更改与代理间通信和 http 侦听器组件(包括支持 HTTPInput 和 HTTPReply 节点的 HTTP 和 HTTPS(SSL))相关的属性。

使用 mqsistart 启动代理,然后在运行代理的机器上发出该命令。

如果您更改任何值,则必须停止并重新启动代理以使更改生效。

语法

参数

brokername
(必需)要修改的代理的名称。它必须是第一个参数。
-b httplistener
(可选)HTTP 侦听器组件的名称。
-eExecutionGroupLabel
(可选)保留。
-o ObjectName
(必需)要更改其属性的对象的名称。 它必须设置为下面列出的某个值。
-n PropertyName
(必需)要更改的属性的名称。
-vPropertyValue
(必需)提供的 PropertyValue 将赋给 PropertyName 指定的属性。
可以使用逗号作为分隔符指定多个名称和相应的值时。例如,
-n Name1, Name2 -v Value1, Value2
对于代理之间的通信,可以使用以下 ObjectName 值:
  • DynamicSubscriptionEngine
对于包含 HTTPInput 和 HTTPReply 节点的 httplistener 组件,可以使用以下 ObjectName 值:
  • HTTPListener 用于控制 HTTPListener 进程。
  • HTTPConnector 用于控制与 HTTPInput 和 HTTPReply 节点的 HTTP 通信。
  • HTTPSConnector 用于控制与 HTTPInput 和 HTTPReply 节点的 HTTPS 通信。
使用 HTTP ObjectName 设置时,需要 httplistener ComponentName
使用先前版本的兼容性方式时,可以使用以下 ObjectName 值:
  • ComIbmXmlParserFactory

代理间的通信参数值

下面列出了用于代理间通信的有效属性名:

brokerInputQueues
指定处理来自代理间连接的消息时要使用的最大分派队列数。增加该值可以增加消息在代理间连接上的传输速率:
  • 值类型 - 整数
  • 初始值 - 1
brokerInputQueueLength
定义每个输入队列可以存储的最大消息数;该值越大,每个输入队列中可存储的输入消息越多。请注意,此属性的值越大,代理需要为每个队列提供的内存量越大。
  • 值类型 - 整数
  • 初始值 - 99
brokerPingInterval
代理在代理间连接上发出 ping 消息的时间间隔(以毫秒为单位)。ping 消息确保在连接的两边通信仍然处于打开状态,并且按一定的时间间隔生成。如果值为 0,则代理不发出 ping 消息。
  • 值类型 - 整数
  • 初始值 - 5000
clientPingInterval
启动的代理在代理 - 客户机连接之间 ping 消息的毫秒数。ping 消息确保在连接的两边通信仍然处于打开状态,并且按一定的时间间隔生成。如果值为 0,则代理不发出 ping 消息。
  • 值类型 - 整数
  • 初始值 - 30000
clonedPubSubBrokerList
代理列表,在此列表中 <brokername> 注册为克隆。
此列表的格式为 BrokerName1,BrokerQMName1,BrokerName2,BrokerQMName2。 因此,如果您需要克隆三个代理 BRKABRKBBRKC,必须运行以下命令:
mqsichangeproperties BRKA -e default -o DynamicSubscriptionEngine
 -n clonedPubSubBrokerList -v \"BRKB,BRKBQM,BRKC,BRKCQM\"
mqsichangeproperties BRKB -e default -o DynamicSubscriptionEngine
 -n clonedPubSubBrokerList -v \"BRKA,BRKAQM,BRKC,BRKCQM\"
mqsichangeproperties BRKC -e default -o DynamicSubscriptionEngine
 -n clonedPubSubBrokerList -v \"BRKA,BRKAQM,BRKB,BRKBQM\"
还可以从克隆的环境中除去代理。例如,如果要从克隆中除去 BRKC,则使用以下命令:
mqsichangeproperties BRKA -e default -o DynamicSubscriptionEngine
 -n clonedPubSubBrokerList -v \"-BRKC\"
mqsichangeproperties BRKB -e default -o DynamicSubscriptionEngine
 -n clonedPubSubBrokerList -v \"-BRKC\"
mqsichangeproperties BRKC -e default -o DynamicSubscriptionEngine
 -n clonedPubSubBrokerList -v \"\"

请注意列表中 BRKABRKB 的减号。BRKC 未指定任何代理,因此不是克隆。但 BRKABRKB 互相克隆。

  • 值类型 - 字符串
  • 初始值 - 无
enableClientDiscOnQueueOverflow
如果此参数的值为 true,并且在删除所有可能的消息后,仍然超过 maxClientQueueSize,代理将断开与客户机的连接。
  • 值类型 - 布尔型
  • 初始值 - False
enableQopSecurity
启用消息保护的质量级别。

缺省情况下,如果 isysQopLevelsysQopLevel 值从缺省值“none”改成了其他值,则说明启用了保护质量。

  • 值类型 - 字符串
  • 初始值 - 无
httpDispatchThreads
该值是代理在管理 HTTP 隧道客户机时使用的线程数。
  • 值类型 - 整数
  • 初始值 - 32
httpProtocolTimeout
该值是 HTTP 协议超时时间间隔(以毫秒为单位)。您可以在 HTTP 隧道协议的任何阶段更改该值,以更新代理等待下一事件的时间。值为 0 会导致代理无限期地等待
  • 值类型 - 整数
  • 初始值 - 10000
interbrokerHost
指定代理的 IP 主机名。单代理配置可以不设置该值,使用缺省值 null 即可。

mqsichangeproperties <broker> -o DynamicSubscriptionEngine -n interbrokerHost -v <IP host name>

  • 值类型 - 字符串
  • 初始值 - null

如果更改了该值,则必须停止并重新启动代理。然后,必须重新部署整个拓扑。

interbrokerPort
代理用来侦听入局代理间连接的端口号。如果在同一台机器上运行多个代理,则需要为每个代理设置不同的 interbrokerPort 属性值。例如:

mqsichangeproperties <broker> -o DynamicSubscriptionEngine -n interbrokerPort -v <port number>

如果未在部署拓扑之前设置 interbrokerPort 值,则重新启动代理。

  • 值类型 - 整数
  • 初始值 - 1507

如果更改了该值,则必须停止并重新启动代理。然后,必须重新部署整个拓扑。

isysQopLevel
应用到系统并且仅允许代理发布和预订。
  • 值类型 - 字符串
  • 初始值 - 无
maxBrokerQueueSize
向另一代理传输时代理应该排队的最大字节数。如果超过该最大数,则除了那些最新的消息、高优先级的消息和响应之外,代理会删除所有排队到该代理的消息如果超过此最大数,除最新消息、高优先级的消息和响应之外,代理将删除所有排队等候传输到目标代理的消息。如果此参数值为 0,则不限制排队等候传输到另一代理的字节数。
  • 值类型 - 整数
  • 初始值 - 1000000
maxClientQueueSize
向客户机传输时代理应该排队的最大字节数。如果超过该最大数,则除了那些最新的消息、高优先级的消息和响应消息之外,代理会删除所有排队到该客户机的消息。如果此参数值为 0,则不限制排队等候传输到另一代理的字节数。
  • 值类型 - 整数
  • 初始值 - 100000

此属性值必须大于或等于 maxMessageSize 值。

maxConnections
代理允许同时连接的最大客户机数。如果达到此极限值,代理将拒绝来自客户机的新连接请求。如果该值小于 0,则不限制客户机的数目。
  • 值类型 - 整数
  • 初始值 - 100
更新开始jvmMaxHeapSize更新结束
更新开始指定与 JVMManager 一起用于 Java 插件节点的 Java 虚拟机(JVM)堆大小。

其范围必须是 16 777 216 到 8 589 934 592。

  • 值类型 - 整数
  • 初始值 - 134 217 728
更新结束
maxHopCount
指定发送消息时通过的最大多代理链接数,以确保消息永远不会在多代理网络中循环。请将这个值设置到足够大,以确保消息可遍历整个多代理网络。
  • 值类型 - 整数
  • 初始值 - 20
maxMessageSize
允许的最大消息大小(以字节为单位)。如果从客户机收到大小超过此最大值的消息,则断开与此客户机的连接。
  • 值类型 - 整数
  • 初始值 - 100000

此属性值必须小于或等于 maxClientQueueSize 值。

multicastAddressRangeMax
代理可用于其多点广播传输的最高 IP 地址。
它应该在 224.0.0.2 到 239.255.255.255 之间
  • 值类型 - 字符串
  • 初始值 - 239.255.255.255
multicastAddressRangeMin
代理可用于其多点广播传输的最低 IP 地址。
它应该在 224.0.0.2 到 239.255.255.255 之间
  • 值类型 - 字符串
  • 初始值 - 224.0.0.2
multicastBackoffTimeMillis
客户机在发送自己的 NACK 之前,侦听其他客户机的 NACK 的最长时间(以毫秒为单位)。 该值可以在 0 到 1000 之间。
  • 值类型 - 整数
  • 初始值 - 100
multicastDataPort
用来发送和接收多点广播信息包的 UDP 数据端口。
  • 值类型 - 整数
  • 初始值 - 34343
multicastEnabled
指出是否将 multicastTopicsConfigFile 中定义的主题以多点广播的方式传递。 如果该值为 true,则以多点广播的方式传递 multicastTopicsConfigFile 中的主题。
  • 值类型 - 布尔型
  • 初始值 - false
multicastHeartbeatTimeoutSec
指出控制数据包到达每个客户机的时间间隔(以秒为单位)。 如果用前一个控制信息包到达时间秒数的两倍来定义该属性的值,而控制信息包在此时间内仍未到达,则有可能是出现了错误。
  • 值类型 - 整数
  • 初始值 - 20
multicastLimitTransRate
该属性可以与 multicastTransRateLimitKbps 属性结合,用来控制网络阻塞。可能的值的:
Disabled
尽快传输多点广播数据
Static
传输速率受 multicastTransRateLimitKbps 值的限制。
Dynamic
传输速率在整个过程中可以变化,但是从不超过 multicastTransRateLimitKbps 值。
  • 值类型 - 字符串
  • 初始值 - Disabled
multicastMaxKeyAge
主题加密密钥被重新定义之前的最长寿命(以分钟为单位)。
  • 值类型 - 字符串
  • 初始值 - 360
multicastMaxMemoryAllowedKBytes
客户机接收缓存所用的最大内存量(以千字节为单位)。
  • 值类型 - 整数
  • 初始值 - 262144

必须先选择 Pragmatic General Multicast(PGM)协议此参数才可用。

multicastMCastSocketTTL
多点广播信息包可以在客户机和代理之间往返的最大次数。 该值比客户机和代理之间可以存在的路由器最大数值多一。
该值为 1 表示信息包到达所有本地节点,但无法由路由器中继。 最大值是 255。
  • 值类型 - 整数
  • 初始值 - 1
multicastMinimalHistoryKBytes
作为所有传输信息包的归档分配的缓冲区大小最小值(以千字节为单位)。 该缓冲区由所有可靠主题共享,并可用于恢复丢失的信息包。 该值可以在 1000 到 1,000,000 之间。
  • 值类型 - 整数
  • 初始值 - 60000
multicastMulticastInterface
指出用于多点广播传输的接口。 您可以指定主机名或 IP 地址。该值为“none”会导致网络接口依赖操作系统。
  • 值类型 - 字符串
  • 初始值 - “none”
注: 如果只有一块网卡,由于操作系统使用 localhost 值,因此可以使用缺省值 none。 但如果有多块网卡,则必须设置此参数以确保使用正确的网卡。
multicastNACKAccumulationTimeMillis
发送恢复的信息包之前,NACK 在代理内聚集的时间(以毫秒为单位)。 该值可以在 50 到 1000 之间。
  • 值类型 - 整数
  • 初始值 - 300
multicastNACKCheckPeriodMillis
对 NACK 构建进行接收状态和序列间隙检测进行定期检查的间隔时间(以毫秒为单位)。 该值可以在从 10 到 1000 的范围
  • 值类型 - 整数
  • 初始值 - 500
multicastOverlappingTopicBehavior
当客户机为主题请求多点广播预订时,该属性用于控制代理的行为,它是包含主题的主题层次结构的一部分,明确声明不支持多点广播。 可能的值的:
Accept
接受匹配的多点广播预订并且除指定不包括的发布消息之外,对所有与主题匹配的发布消息均进行多点广播。
Reject
对主题的多点广播预订因其子代不支持多点广播被代理拒绝。
Revert
对主题或本主题子代的预订如果不支持多点广播,则以单点广播方式传输。
  • 值类型 - 字符串
  • 初始值 - Accept
multicastPacketBuffers
开始接收信息包时创建的内存缓冲区数量。 如有大量缓冲区可用能够提高接收性能,使高速传输时信息包的丢失率降至最低,付出的代价是内存利用率增加。 每个缓冲区的大小为 33KB,并且该值可以在 1 到 5000 之间。
  • 值类型 - 整数
  • 初始值 - 500
multicastPacketSizeBytes
指出多点广播信息包的大小(以字节为单位)。它可以在 500 到 32000 之间。
  • 值类型 - 整数
  • 初始值 - 7000
multicastProtocolType
指定协议类型。它必须是以下某个选项:
  • PTL
  • PGM/IP
  • PGM/UDP
  • 值类型 - 字符串
  • 初始值 - PTL
multicastSocketBufferSizeKbytes
客户机的套接字接收器缓冲区的大小(以千字节为单位)。 增加该值可以降低丢失率。 该值可以在 65 到 10000 之间。
  • 值类型 - 整数
  • 初始值 - 3000
multicastTransRateLimitKbps
限制整体传输速率(以 Kbps 为单位)。
仅当未禁用 multicastLimitTransRate 属性时,该属性才有效。该属性的值不可设置为大于系统或网络的最大数据传输速率,它的范围可以在 10 到 1,000,000 之间。
  • 值类型 - 整数
  • 初始值 - 9500
nonDurableSubscriptionEvents
指出创建或删除非持久订户时,用户是否需要事件消息。如果该属性值为 true 则表示要创建事件发布,为 false 则表示不创建事件发布。
  • 值类型 - 布尔型
  • 初始值 - False
pingTimeoutMultiple
在代理断开与客户机或代理的连接之前,连续等待的 clientPngInterval 或 brokerPngInterval 数目。
  • 值类型 - 整数
  • 初始值 - 3
statsInterval
该值是生成统计信息发布内容的时间间隔(以毫秒为单位)。如果设置为 0,将不生成统计信息发布消息。更改该属性之后不需要重新启动代理,但是更改该值以后,代理最多只要一分钟就开始产生统计信息。
该值应该在 0 到 1000 之间
  • 值类型 - 整数
  • 初始值 - 0
注: 该值仅指 发布/预订 的统计信息时间间隔。
sysQopLevel
应用到系统并仅允许代理发布。
  • 值类型 - 字符串
  • 初始值 - 无

权限

Windows 平台上,用于调用此命令的用户标识必须具有本地系统的管理员权限。

UNIX 系统上,用来调用该命令的用户标识必须是 root,或者必须与 mqsicreatebroker 命令的 -i 参数指定的用户标识相同。 该标识还必须是 mqbrkrs 组的成员。

此外,使用不同协议的代理还需要以下权限:
PGM/IP
代理需要:
  • 在 Linux 和 UNIX 系统上需要 Root 权限
  • Windows 平台上需要管理员权限
  • 在 z/OS 上需要 root 权限(仅 UNIX 系统服务)
PGM/UDP
代理在所有支持的平台上都需要拥有用户权限。
PTL
代理在所有支持的平台上都需要拥有用户权限。

httplistener 组件参数值

HTTPListenerObjectName 的有效属性名:

enableSSLConnector
可以用于启用或禁用 HTTPS (SSL) 连接器的布尔值。必须将该值设置为“true”,http 侦听器才能侦听入站 SSL 连接。
  • 值类型 - 布尔型
  • 初始值 - false

HTTPConnectorObjectName 的有效属性名:

address
对于有多个 IP 地址的服务器,该值指定用于侦听指定端口的地址。缺省情况下,该端口用于与服务器关联的所有 IP 地址。如果指定了地址,则只能使用该地址。
  • 值类型 - 字符串
  • 初始值 - null
port
TCP 端口号,连接器在该端口上创建服务器套接字并等待入局连接。
  • 值类型 - 整数
  • 初始值 - 7080

HTTPSConnectorObjectName 的有效属性名:

address
对于有多个 IP 地址的服务器,该值指定用于侦听指定端口的地址。缺省情况下,该端口用于与服务器关联的所有 IP 地址。如果指定了地址,则只能使用该地址。
  • 值类型 - 字符串
  • 初始值 - null
port
TCP 端口号,连接器在该端口上创建服务器套接字并等待入局连接。
  • 值类型 - 整数
  • 初始值 - 7083
algorithm
要使用的证书编码算法。
  • 值类型 - 字符串
  • 初始值 - SunX509(在 Solaris 和 HPUX 上)或 IbmX509(在其他平台上,如 AIX、z/OS、Linux、Windows)。
clientAuth
如果 SSL 堆栈在接受连接前需要来自客户机的有效证书链,则将该值设置为 true。除非客户机请求的资源受使用 CLIENT-CERT 认证的安全性约束保护,否则只要该值设置为 false(缺省值),便不需要证书链。
  • 值类型 - 字符串
  • 初始值 - false
keystoreFile
已经存储了要装入服务器证书的密钥库文件的路径。缺省情况下,http 侦听器需要在启动代理的用户的主目录中有一个名为 .keystore 的文件。
  • 值类型 - 字符串
  • 初始值 - default value(上面内容描述过)
keystorePass
用于从指定的密钥库文件访问服务器证书的密码。
  • 值类型 - 字符串
  • 初始值 - changeit
keystoreType
要用于服务器证书的密钥库文件的类型。
  • 值类型 - 字符串
  • 初始值 - JKS
sslProtocol
要使用的 SSL 协议的版本。
  • 值类型 - 字符串
  • 初始值 - SSLv3
ciphers
可以使用的加密器列表,以逗号分隔。如果未指定此属性(缺省),则可以使用提供的任何加密器。
  • 值类型 - 字符串
  • 初始值 - null
keystoreTypesslProtocolciphers 的可能值取决于具体的 JSSE 实现,并且这些值应该在 JSSE 提供者文档中。

权限

Windows 平台上,用于调用此命令的用户标识必须具有本地系统的管理员权限。

UNIX 系统上,用来调用该命令的用户标识必须是 root,或者必须与 mqsicreatebroker 命令的 -i 参数指定的用户标识相同。 该标识还必须是 mqbrkrs 组的成员。

示例

将 clientPingInterval 更改为 200
mqsichangeproperties TEST -o DynamicSubscriptionEngine -n clientPingInterval -v 200
启用多点广播
mqsichangeproperties TEST -o DynamicSubScriptionEngine -n multicastEnabled -v true
将缺省 ssl 协议从 SSLv3 更改为 TLS
mqsichangeproperties TEST -b httplistener -n sslProtocol -v TLS
启用 HTTPS 连接程序
mqsichangeproperties TEST -b httplistener -o HTTPListener -n enableSSLConnector -v true
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
an09140_