2017-10-20 280 views
0

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

Doesn't work

的IBM MQ服务器版本是8.0.0.5,而客户端的JAR是7.1.0.3版本。但我相信这种结合在其他环境中起作用。

我已经在其他某些环境中检查了应用程序,它在哪里正常工作,并且在MQCLOSE_REPLY之后出现了许多其他消息,从Wireshark识别为SOCKET_ACTION开始。但是这不会发生在这个环境中,为什么?

Works

+0

应用程序是否从队列管理器获取任何类型的错误消息? 2017年4月30日,MQ v7.1脱离了IBM的支持,那么最好转移到IBM MQ v8或v9 jar文件。 – JoshMc

+0

我回答了这个问题 - 没有错误,根本就没有。事实证明,骆驼路线没有正常启动,该应用程序根本不查询邮件 –

回答

1

您的应用程序没有请求任何消息,这就是为什么它不接受任何。

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

你为什么试图用网络包跟踪来调试呢?

看看应用程序并确定它在连接之后的功能,并确定它为什么不请求任何消息。

0

a_cornish_pasty是对的 - 应用程序没有请求任何消息。这是因为我错过了一些启动错误,所以骆驼路线还没有正常启动。

+0

:-)感谢您的更新。你能否把我的答案标记为接受的答案? –