与 IBM MQ 互操作:故障诊断提示
通过下面一组特定技巧,可帮助您对使用缺省消息传递提供程序的 WebSphere® MQ 链接或 WebSphere MQ 服务器组件与 IBM MQ 互操作时遇到的问题进行故障诊断。
针对 WebSphere MQ 链接的技巧:
针对 WebSphere MQ 服务器的技巧:
WebSphere MQ 链接通道未启动
- 确认 WebSphere MQ 链接发送方通道和/或 MQLinkReceiver 定义上指定的通道名称与 IBM MQ 网络中的发送方和/或接收方通道定义中指定的通道名称相匹配。
通道名称区分大小写。
- 确认通道序列号未不一致。
如果一致,那么通道保持重试状态,直至序列号重置为止。
对于 WebSphere MQ 链接发送方通道,您可以使用 WebSphere MQ 链接发送方通道管理页面将序列号重置为 1。这会将重置指令传递给 WebSphere MQ 接收方通道。您可以选择将 WebSphere MQ 接收方通道重置为与 WebSphere MQ 链接发送方通道相匹配的值。 这不会导致任何数据传递到 WebSphere MQ 链接发送方通道,并且可以用于解决序列问题。
对于 WebSphere MQ 链接接收方通道,必须通过 WebSphere MQ 发送方通道重置 IBM MQ 中的序列号。如果在 Windows 系统上使用 IBM MQ Explorer,那么可以右键单击通道,然后选择 。
搜索消息 CWSIC3011E 和 CWSIC3015E。
- 确认通道的两端均已正确定义和配置。远程端的通道当前可能处于已停止状态,因此当前不可用。如果可能,请在远程端启动通道。
搜索消息 CWSIC3018E、CWSIC3113E、CWSIC3114E 和 CWSIC3236E。
- 确认通道两端的通道序号复位值相同。
搜索消息 CWSIC3010E。
- 确认 WebSphere MQ 链接发送方通道未处于不确定状态。根据需要解析通道。通道是由 IBM MQ 解析。
在 Windows 上,如果您在使用 IBM MQ Explorer,那么可以右键单击通道,然后选择“所有任务>解析”。
搜索消息 CWSIC3065E。
- 确认侦听器已启动并且在侦听正确端口。缺省情况下,服务集成侦听端口 5558 以查找入站连接,而 IBM MQ 网络侦听端口 1414。
跨 WebSphere MQ 链接发送的消息未交付
- 如果将消息从服务集成总线发送到 IBM MQ 网络,那么可能是:消息存储在服务集成总线上并且等待交付,但是 WebSphere MQ 链接发送方通道尚未启动或者处于重试状态。
确认 WebSphere MQ 链接发送方通道已启动并且处于运行状态。
- 如果将消息从 IBM MQ 网络发送到服务集成总线,那么可能是:消息存储在 IBM MQ 网络中的传输队列上并且等待交付,但是 IBM MQ 网络中的发送方通道尚未启动或处于重试状态。
确认 IBM MQ 网络中的发送方通道已启动并且处于运行状态。
- 可能是:消息无法处理或者无法交付给目标,因此消息已放置在异常目标或服务集成总线中,或者放置在 IBM MQ 网络中的死信队列中。确认消息传递引擎上的 IBM MQ 链接正确配置有正确的外部总线、队列管理器名称(服务集成总线)、发送方通道和接收方通道。IBM MQ 链接上的发送方通道应该与 IBM MQ 上的接收方通道相匹配。IBM MQ 链接上的接收方通道应该与 IBM MQ 上的发送方通道相匹配。
搜索消息 CWSIC3096I、CWSIC3098I、CWSIC3200E 和 CWSIC3209E。
检查异常目标和死信队列。可能是:尚未定义目标队列,或者目标队列已满,在后一种情况下,确定为何未从目标处理消息。
- 可能是:目标和异常目标和/或死信队列已满,并且后续持久消息无法安全交付。在这些情况下,通道将停止以防止丢失任何消息。
搜索消息 CWSIP0291W。
确定为何未从目标处理消息。
- 可能是:目标和异常目标和/或死信队列已满,并且后续非持久消息已废弃。
检查应用程序正在生成的消息的持久性。
- 可能是:通道已停止,因为远程系统由于某些原因而无法接受消息。
搜索消息 CWSIC3080E。
应用程序服务器无法关闭
如果 WebSphere MQ 链接发送方通道没有任何要交付的消息,那么它将等待指定的断开连接时间间隔,然后超时。如果应用程序服务器关闭,而 WebSphere MQ 链接发送方通道处于等待状态,那么应用程序服务器将等待 WebSphere MQ 链接发送方通道超时,然后关闭。较长的断开连接时间间隔可能延迟服务器关闭。
- 尝试将消息放入到 WebSphere MQ 链接发送方通道的传输项流。请注意,如果应用程序服务器关闭已在进行中,那么上述操作可能无法使通道摆脱等待状态。
- 强制终止应用程序服务器进程。
要降低应用程序服务器关闭期间可能的延迟,您可以为断开连接时间间隔指定更小的值。请注意,断开连接时间间隔 0 表示无限等待。有关设置 WebSphere MQ 链接发送方通道的断开连接时间间隔的更多信息,请参阅添加或修改 IBM MQ 链路发送方通道。
JMS 尝试将消息发送到 WebSphere MQ 服务器
JMS 应用程序尝试将消息发送到 WebSphere MQ 服务器,然后发出了一个内部错误异常消息的长列表。 当 WebSphere MQ 服务器配置为连接到不受支持版本的 IBM MQ 时,发生此错误。
com.ibm.ws.sib.remote.mq.exceptions.CorruptRMQSessionException:
CWSJP0019E: An attempt to connect to WebSphere MQ using the information that is
provided by the WebSphere MQ Server bus member MQServer1-BUS1 resulted in a
connection to a WebSphere MQ queue manager running on version MQCMDL_LEVEL_600
on platform MQPL_WINDOWS_NT. This configuration is not supported. Destinations
that are assigned to the WebSphere MQ Server bus member are not accessible.
确认您已将 WebSphere MQ 服务器配置为与受支持版本的 IBM MQ 进行互操作。要与 WebSphere Application Server V7.0 或更高版本 进行互操作,WebSphere MQ 版本必须是 WebSphere MQ for z/OS V6 或更高版本,或者是 WebSphere MQ(分布式平台)V7 或更高版本。