modifySIBMQLink 命令
使用 modifySIBMQLink 命令来修改 WebSphere® MQ 链路 的属性。
要运行该命令,请使用 wsadmin 脚本编制客户机的 AdminTask 对象。
wsadmin
脚本编制客户机通过 Qshell 运行.
有关更多信息,请参阅 使用 wsadmin 脚本编制配置 Qshell 以运行 WebSphere 脚本.
- 要获取 Jython 中可用服务集成总线命令的列表以及每个命令的简要描述,请在
wsadmin 提示符处输入以下命令:
print AdminTask.help('SIBAdminCommands')
- 要获取有关给定命令的总体帮助,请在 wsadmin 提示符处输入以下命令:
print AdminTask.help('command_name')
AdminConfig.save()
用途
modifySIBMQLink 命令修改 IBM MQ 链路的属性。
目标对象
IBM MQ 链路。
必需参数
- -bus
- 为其创建了 IBM MQ 链路的服务集成总线的名称。可以使用 listSIBuses 命令来列示现有总线的名称。
- -messagingEngine
- 为其创建 IBM MQ 链路的消息传递引擎的名称。可以使用 listSIBEngines 命令来列示现有消息传递引擎的名称。
- -name
- IBM MQ 链路的名称。
条件参数
无。
可选参数
- -queueManagerName
- 与消息传递引擎相关联的虚拟队列管理器的名称,远程
IBM MQ 网络通过此名称识别消息传递引擎。
队列管理器名称必须符合 IBM MQ 命名约定;例如,名称最大长度为 48 个字符。
- -description
- 总线的可选描述,供进行管理时使用。
- -exceptionDestination
- 这是以下情况下入站消息的目标:在 IBM MQ 链路无法将消息传递至其目标总线目标或传递至为该目标总线目标配置的异常目标时,或者在该目标总线目标不存在时。
- 系统
- IBM MQ 链路使用缺省异常目标。所有无法送达至总线目标的消息都将自动被重新路由至此链路所指定给的消息传递引擎的系统缺省异常目标:_SYSTEM.Exception.Destinationmessaging_engine_name。
- 无
- IBM MQ 链路没有异常目标。无法送达的消息不会被重新路由至异常目标,并且可能会阻塞正在等待通过该链路传递至同一总线的其他消息的处理。此选项可用来保留消息排序。
- 指定
- IBM MQ 链路使用此处指定的异常目标。如果无法使用此异常目标,那么它将使用系统异常目标。
- -batchSize
批次大小不影响此链路的发送方和接收方通道传送消息的方法。消息总是逐条传送,但却成批落实或回退。
有关选择批次大小的更多信息,请参阅 IBM MQ 信息中心的“双向通信”部分中的“批次大小”(BATCHSZ) 属性的描述。
信息 值 缺省 50 范围 1 到 9999 - -maxMsgSize
有关如何选择合适的数字的信息,请参阅 IBM MQ 信息中心的“双向通信”部分中的“最大消息长度”(MAXMSGL) 属性的描述。
信息 值 缺省 4194304 字节 (4MB) 范围 0 到 104857600 指定 0 以使用目标队列管理器将遵循的最大值。
- -heartBeat
脉动信号使接收通道有机会停顿通道连接。
有关选择此属性的值的更多信息,请参阅 IBM MQ 信息中心的“双向通信”部分。
信息 值 缺省 300 秒 范围 0 到 999999 - -sequenceWrap
-
例如,如果指定值为 1000,那么消息序号到达 1001 时会从 1 重新开始。
有关选择此属性的值的更多信息,请参阅 IBM MQ 信息中心的“双向通信”部分中的“序号回绕”(SEQWRAP) 属性的描述。
信息 值 缺省 999999999 范围 100 到 999999999 - -nonPersistentMessageSpeed Fast | Normal
信息 值 缺省 快速 范围 - 快速
- 如果发生传输故障或者通道在传输消息时停止,那么可能会丢失非持久消息。
- 常规
- 即使发生传输故障或者通道在传输消息时停止,也不会丢失非持久消息。
- -adoptable True | False
- IBM MQ 链路的属性,指示是否应沿用正在运行的 IBM MQ 链路接收方通道(与此 IBM MQ 链路相关联)实例。如果发生通信故障,那么正在运行的 IBM MQ 链路
接收方通道实例可能会处于等待消息状态。重新建立通信后,伙伴 IBM MQ
发送方通道下一次尝试建立与 IBM MQ 链路
接收方通道的会话时,请求将会失败,这是因为已经存在正在运行的 IBM MQ 链路
接收方通道实例,该实例认为它已在进行与伙伴 IBM MQ 链路
发送方通道的会话。您可以通过选择此选项来解决此问题,此选项会停止已在运行的 IBM MQ 链路
接收方通道实例并启动新的实例。
如果将此选项设置为 True,并且发生了通信故障,IBM MQ 链路尚未检测到故障情况,那么 IBM MQ 发送方通道可能会重新建立与此链路的连接。
信息 值 缺省 True - -initialState Started | Stopped
- IBM MQ 链路的状态,显示最初启动主管消息传递引擎时此链路是已启动还是已停止。IBM MQ 链路
直到启动后才可用。
信息 值 缺省 已启动 范围 - 已停止
- 当相关联的消息传递引擎启动时,IBM MQ 链路处于已停止状态,并且不能与 IBM MQ 网络进行通信。
- 已启动
- 当相关联的消息传递引擎启动时,IBM MQ 链路将自动启动并且能够与 IBM MQ 网络进行通信。
- -senderChannelName
此名称必须与 IBM MQ 上的接收方通道的名称相同。
有关选择通道名称的更多信息,请参阅 IBM MQ 信息中心的“双向通信”部分中的“通道名称”(CHANNEL) 属性的描述。
- -hostName
- 用于连接至 IBM MQ 网络的网关队列管理器的主机名或 TCP/IP 地址。
输入运行网关队列管理器的主机的主机名或 IP 地址。
如果此字段为空白,那么会假定网关队列管理器与定义 IBM MQ 链路的消息传递引擎在同一主机上运行。
- -port
信息 值 缺省 1414 范围 0 到 65535 - -connameList
- 这是用于连接至 IBM MQ 网络的网关队列管理器的连接名称列表。将按连接名称列表中指定连接的顺序来尝试这些连接,直到成功建立连接为止。如果未成功建立任何连接,那么通道将启动重试处理。
必须按下列格式以逗号分隔列表的形式提供连接名称:
Dnsname1(portnumber1) , Dnsname2(portnumber2)
请输入运行网关队列管理器的主机的 DNS 名称或 IP 地址。请输入 0 到 65535 范围内的端口号。
如果您未指定连接名称列表参数,那么会假定网关队列管理器与定义 IBM MQ 链路的消息传递引擎在同一主机上运行。
如果您指定了连接列表参数,那么必须已为发送方通道名称参数指定了值,否则您为连接名称列表参数指定的值将被忽略。
如果您指定了主机名和端口参数以及连接名称列表参数,那么在运行时连接名称列表将优先,并且主机名和端口值将被忽略。
- -discInterval
缺省值为合理的时间间隔。仅当您了解性能的含义,而且您需要为流向您通道的流量要求设置不同值时才更改此值。
为断开连接时间间隔指定的值影响性能。值太低(几分钟)可能导致经常启动通道的处理量过大。值太高(几小时)可能意味着系统资源不必要地挂起。
如果您仅要在存在要传递消息时激活通道,您应该将断开连接时间间隔设置为相当小的值。注意,缺省设置相当高,所以建议在此控制级别为必需的情况下不要使用通道。因为要中断接收通道很困难,所以最经济的选项是自动断开与通道的连接,然后作为工作负载守护程序重新连接。对于大多数通道,可启发性建立断开连接时间间隔的相应设置。
信息 值 缺省 900 秒 范围 0 到 999999 0 值意味着从不断开连接;通道无限期等待消息。
- -shortRetryCount
信息 值 缺省 10 范围 0 到 999999999 - -shortRetryInterval
有关将重试机制与 IBM MQ 配合使用的更多信息,请参阅 IBM MQ 信息中心的“双向通信”部分。
信息 值 缺省 60 秒 范围 0 到 999999 - -longRetryCount
有关将重试机制与 IBM MQ 配合使用的更多信息,请参阅 IBM MQ 信息中心的“双向通信”部分。
信息 值 缺省 999999999 范围 0 到 999999999 - -longRetryInterval
有关将重试机制与 IBM MQ 配合使用的更多信息,请参阅 IBM MQ 信息中心的“双向通信”部分。
信息 值 缺省 1200 秒 范围 0 到 999999 - -senderChannelInitialState Started | Stopped
- IBM MQ 链路的状态,显示最初启动关联 IBM MQ 链路时发送方通道是已启动还是已停止。通道直到启动后才可用。
信息 值 缺省 已启动 范围 - 已停止
- 当相关联的消息传递引擎启动时,IBM MQ 链路处于已停止状态,并且不能与 IBM MQ 网络进行通信。
- 已启动
- 当相关联的消息传递引擎启动时,IBM MQ 链路将自动启动并且能够与 IBM MQ 网络进行通信。
- -receiverChannelName
此名称必须与 IBM MQ 上的发送方通道的名称相同。
- -inboundNonPersistentReliability Best effort | Reliable
此可靠性传送选项指定给在此接收方通道上流动的所有 IBM MQ 非持久消息。
信息 值 缺省 可靠 范围 - 最大努力
- 当消息传递引擎停止或发生故障时,将废弃消息。如果用于发送消息的连接变为不可用或者系统资源不足,也可能会废弃消息。
- Express
- 可靠
- 当消息传递引擎停止或发生故障时,将废弃消息。
- -inboundPersistentReliability Reliable | Assured
信息 值 缺省 有保证 范围 - 可靠
- 当消息传递引擎发生故障时,可能会废弃消息。
- 有保证
- 不废弃消息。
- -receiverChannelInitialState Started | Stopped
- IBM MQ 链路的状态,显示最初启动关联 IBM MQ 链路时接收方通道是已启动还是已停止。通道直到启动后才可用。
信息 值 缺省 已启动 范围 - 已停止
- 当相关联的消息传递引擎启动时,IBM MQ 链路处于已停止状态,并且不能与 IBM MQ 网络进行通信。
- 已启动
- 当相关联的消息传递引擎启动时,IBM MQ 链路将自动启动并且能够与 IBM MQ 网络进行通信。
- -preferLocal TRUE | FALSE
- 此选项指示该链路首选将入局消息发送至与链路位于同一消息传递引擎的期望目标的队列点(如果可用)。该链路必须由正在
WebSphere Application Server V7.0 或更高版本服务器上运行的消息传递引擎所有。
仅当由与 WebSphere Application ServerV7.0 或更高版本 服务器或客户机一起运行并且连接至在 WebSphere Application ServerV7.0 或更高版本 服务器上运行的消息传递引擎的 JMS 应用程序使用时,才支持此选项。在 WebSphere Application Server 的先前版本上使用将导致应用程序发生异常。
信息 值 缺省 TRUE 范围 - TRUE
- 将每个入局消息发送至与链路位于同一消息传递引擎的期望目标的队列点(如果可用)。
- FALSE
- 将入局消息发送至期望目标的任何队列点。
示例
显示 IBM MQ 链路的属性,修改该链路以更改批大小,然后再次显示该链路的属性。
wsadmin>AdminTask.showSIBMQLink('[-bus myBus -messagingEngine myHostNode01.server1-myBus
-mqLink myMQLink]')
'{nonPersistentMessageSpeed=FAST, qmName=myBus, adoptable=false, sequenceWrap=999999999,
name=myMQLink, targetUuid=738AE126B908E5451A3D4691, initialState=STARTED,
senderChannel=null, brokerProfile=[], receiverChannel=null, preferLocalQueuePoints=true,
batchSize=50, uuid=6B89C4F08AB072C5, heartBeat=300, description=null, maxMsgSize=4194304,
exceptionDestination=_SYSTEM.Exception.Destination.myHostNode01.server1-myBus}'
wsadmin>
wsadmin>AdminTask.modifySIBMQLink('[-bus myBus -messagingEngine myHostNode01.server1-myBus
-name myMQLink -batchSize 100]')
'myMQLink(cells/cell01/nodes/node01/servers/server1|sib-engines.xml#SIBMQLink_1132608724468)'
wsadmin>AdminTask.showSIBMQLink('[-bus myBus -messagingEngine myHostNode01.server1-myBus
-mqLink myMQLink]')
'{nonPersistentMessageSpeed=FAST, qmName=myBus, adoptable=false, sequenceWrap=999999999,
name=myMQLink, targetUuid=738AE126B908E5451A3D4691, initialState=STARTED,
senderChannel=null, brokerProfile=[], receiverChannel=null, preferLocalQueuePoints=true,
batchSize=100, uuid=6B89C4F08AB072C5, heartBeat=300, description=null, maxMsgSize=4194304,
exceptionDestination=_SYSTEM.Exception.Destination.myHostNode01.server1-myBus}'
wsadmin>
修改 IBM MQ 链路以使链路没有要对其使用队列点的首选项。
wsadmin>AdminTask.modifySIBMQLink('[-bus Bus1 -messagingEngine
node1.node1server1-Bus1 -name MQLink -queueManagerName QM2 -preferLocal FALSE]')
wsadmin>