2017-10-20 281 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

:-)感謝您的更新。你能否把我的答案標記爲接受的答案? –