Java IBM MQ 客户端已连接但未从队列中获取消息

Java IBM MQ Client connected but not getting messages from queue

我有一个 Camel/Spring-based Java MQ 客户端,它应该连接到 MQ 并从队列中获取一些消息。连接已建立,但客户端未下载任何消息。 Wireshark 网络分析显示,经过一些初始处理后,生成了一个 MQCLOSE,并且仅进一步仅出现心跳流量。

IBM MQ 服务器版本为 8.0.0.5,而客户端 JAR 的版本为 7.1.0.3。但我相信这种组合适用于其他环境。

我已经在其他一些环境中检查了该应用程序,它可以正常工作,并且在 MQCLOSE_REPLY 之后出现许多其他消息,从 Wireshark 识别为 SOCKET_ACTION 的消息开始。但是在这个环境下不会出现这种情况,为什么??

您的应用程序没有请求任何消息,这就是它没有收到任何消息的原因。

根据您的非工作环境中的网络跟踪片段,它只是连接(打开、查询和关闭队列管理器 - 它在连接处理期间和 MQCONN 之后执行)。然后不使用创建的连接 - 没有 MQGET 或 SPI 流,只有心跳。

你为什么要尝试使用网络数据包跟踪来调试它?!

查看应用程序并了解它在连接后执行的操作并确定它不请求任何消息的原因。

a_cornish_pasty 是正确的 - 应用程序未请求任何消息。那是因为我错过了一些启动错误,骆驼路线没有正确启动。