2012-08-02 22 views
0

我的應用程序將消息寫入JMS隊列。 我用調試器檢查了一切正確寫入。 在服務器控制檯上,在JMS Monitoring中,我可以看到「消息當前」數量增加(來自我的消息)。 但是,有一個組件應該從隊列中讀取消息並在服務器計算機上寫入文件,但這不會發生。 我對JSMS還不熟悉:(我該怎麼做才能解決這個問題? 我應該在配置中尋找什麼,然後我才知道它不是第三方,而是我們自己的應用程序?Weblogic上的JMS故障排除

這是一個WebLogic 10

回答

5

的第一步將是檢查,看看是否有消費者對JMS隊列

這裏是你如何看待消費者對JMS目標:

步驟1 - 在服務 - > M下選擇'JMS服務器'從主頁或左側導航欄essaging: Step 1 - Select 'JMS Servers' under Services->Messaging

第2步 - 選擇「JMS服務器」爲AdminServer中或託管服務器在您的JMS隊列部署之一:

Step 2 - Select the 'JMS Server' for the AdminServer or one of the Managed Servers where your JMS Queue is deployed

步驟3 - 選擇監測 - >活動目的地。然後選擇「自定義該表」並加入「消費者當前」和可選「消費者高」表: Step 3 - Select Monitoring->Active Destinations

第4步 - 向右滾動,如果你不能看到「消費者當前」列。如果應該讀取消息的應用程序正在隊列中偵聽,則應該看到count> 0。如果ConsumersCurrent == 0和ConsumersHigh == 0則沒有消費者曾經連接到目的地讀取消息:

Step 4 - Scroll to the right if you cannot see the 'Consumers Current' column. You should see a count >0 if your application that is supposed to read the message is listening on the queue.

如果沒有消費者,請確保您是應該使用該消息應用程序部署和/或正確配置。

+0

傑夫,非常感謝。我做了所有這些,這就是我提出的:「當前消費者= 1」和「消費者高」和「消費者總數」都= 1。現在,你說我應該看到count> 1,如果你的應用程序應該讀取消息正在隊列中偵聽。「這是否意味着有錯誤,因爲我看到= 1,而不是> 1? ??? – 2012-08-02 16:07:34

+1

對不起,我的意思是> 0。不是> 1 ... – 2012-08-03 05:14:44

+0

謝謝,傑夫。我已經發現有消息「壞數據」,無法「消耗」,現在分開處理jmx。 – 2012-08-03 15:16:48