問題: 多個使用者應用程序的活動規範附加到分佈式VM服務器上的單個MQ導致MQ消息中的空有效負載。 注意:請參閱底部的註釋。 mq沒有問題。多個Websphere應用服務器連接到單個Websphere MQ失敗
詳細信息: 我在2個VM服務器上部署了3個Websphere應用程序。 1個應用程序是發佈者,另外2個應用程序是連接到單個MQ管理器和MQ的消費者。 2消費者應用程序正在取消消息並對其進行處理。單獨服務器上的使用者應用程序接收一個空有效負載。我已經確認它似乎是一個將多個應用程序服務器實例連接到MQ的問題。通過在消費者2上部署服務器2上的發佈者來確認,則消費者1失敗。
問: 有沒有人嘗試安裝部署在單獨的服務器實例綁定到一個隊列管理器和一個MQ多MDB應用程序?
規格:
的Websphere 7,EJB 3.0 MDB的,事務在安裝在另一臺機器上的隊列截止,隊列。
目標:
分佈式計算,按比例放大對大量消息。
我在想這是一個配置問題,但不是100%確定在哪裏看。我讀過你可以使用MQLink,但我不明白爲什麼我需要使用服務總線集成。
支持Doucmentation: [MQ鏈接] [1次
更新:我解決了問題,這是一個相關的類加載器問題與重複類的組合。請參閱下面我添加的解決方案註釋編輯歷史: - 澄清規格,澄清問題並增加總體目標。 - 解決方案的參考說明。
不,我想要聽同一隊列。其分佈式計算解決方案。您可以爲您的MDB定義您想要爲MDB提供的最大會話數。如果隊列中有5000條消息,並且每個部署的MDB需要15個線程(基於性能和硬件),則每個MDB將提取其最大數量並處理它們。我想我現在已經想清楚了,一旦我確認就會發布解決方案。 – haju
好吧,所以它是你正在談論的負載平衡。如果兩個進程正在偵聽同一隊列,那麼肯定會在進程間分配消息。我在答覆中的意思是,同樣的信息不能同時存在。我會修改我的答案。 – nitgeek
Ya負載平衡正在發生,它的正義信息在被輔助服務器拾取時被破壞。可以提交影響其他消費者的結果嗎? MQ只是一個帶有消息的代理,一旦發佈者發佈該消息,它不應該影響消費者方。您的解決方案將工作,基本上有一個網關,但要避免隊列管理器組縮小的矯枉過正。您可以在作爲物理隊列代理的應用程序服務器中添加本地隊列引用。那個或者一個MQ鏈路可以完成路由器,但需要更多的基礎設施。 – haju