2012-02-28 149 views
0

我在使用HornetQ時遇到了一個奇怪的情況。未收到JMS消息

我的應用程序體系結構 -

  • JMS提供者:HornetQ的(獨立服務器,不用於其他任何東西,我創建了這個服務器上的2個隊列,稱Q1和Q2)。
  • Producer:部署在單獨機器上的Web應用程序。此應用程序創建「ObjectMessage」的實例,將「Job」類實例作爲參數傳遞給「ObjectMessage.setObject()」方法,並將消息添加到Q1。使用Spring JMS。

在將消息添加到隊列中之前,我還在消息中設置了一個名爲「AGENT」的字符串屬性。

有什麼特別的是,如果我調用ObjectMessage.setStringProperty(「AGENT」,null),或者如果我不將該屬性添加到消息本身,則消息不會添加到Q1。但是,這在第二季度沒有發生,我可以在HornetQ的JMX控制檯中看到該消息。

是否有一些隊列特定的配置,我應該尋找?

對寬鬆措辭表示歉意 - 我和我的團隊一直面對艱難的時間來解決這個問題。

謝謝。

回答

0

你是如何創建Producer的?你如何發送它?

看來你不是在交易會話上提交?

我假設你正在使用JMS,但我需要看到一些代碼以更好的方式來幫助你。通常,JBoss論壇是一個更適合這樣討論的地方,因爲SOF並不是真正的討論論壇。

我認爲最好的方法是在JBoss上打開一個論壇(因爲它將隨後進行討論)並在此處提供鏈接。

+0

Clebert,這個問題是我們團隊前幾天解決的。問題是發送消息到隊列的那段代碼被多個線程同時訪問。修復代碼以使其可以線程安全地解決問題。我們仍在試圖調查根本原因。不管怎麼說,多謝拉。 – 2012-03-09 08:12:44