2016-01-22 125 views
1

有關應用程序中會話的最佳做法是什麼,該應用程序旨在每5秒從MQ服務器獲取消息?IBM Websphere MQ會話生存期

我應該在整個時間內打開一個會話(可能是幾周或更長時間),還是更好地打開會話,獲取消息,然後再次關閉會話?

我正在使用.net IBM XMS v8客戶端庫。

回答

0

我不確定你在調用會話,但通常應用程序連接到啓動時爲其提供服務的隊列管理器,並在運行時保持該連接。 5秒鐘後,我看不到斷開連接重新連接的理由。

至於保持隊列打開,這取決於你的環境。 如果沒有特殊情況,我會保持隊列打開。

我認爲最值得考慮的是如何發出GET來閱讀消息。

+0

會話是一個會話;) 你什麼時候打電話: ''''的ISession會議= conn.CreateSession(假,AcknowledgeMode.ClientAcknowledge);'''' – MuhKuh

1

添加到@Attila Repasi的回覆中,我會爲消費者添加消息監聽器。只要消息需要傳遞給應用程序,消息監聽器就會被調用。這避免了應用程序顯式調用receive()以從隊列中檢索消息,並在隊列中沒有消息時浪費CPU週期。