2013-03-19 42 views
1

這很奇怪。我正在使用ActiveMQ的JMS。在開發模式下,一切工作正常,但每當我編輯我的控制器或服務方法中的任何代碼隊列就停止工作。Grails JMS/ActiveMQ停止工作當代碼改變/重新編譯

從日誌中我可以看到消息被髮送到隊列,但從未被消費者收到/處理過。我必須停止run-app並重新運行grails run-app。發送到隊列的消息在重新啓動時得到處理。我無法弄清楚是什麼導致了這一點。任何人都可以點亮一下嗎?非常感謝。

我使用Grails 2.2.1與JMS 1.2插件和的ActiveMQ 5.7.0

回答

0

我想通了這一點自己。所以有兩個問題結合在一起並導致了這種奇怪的行爲。

  1. 緩存的類
    我要運行的Grails乾淨,然後Grails的編譯就給我講的JMS豆不能啓動錯誤


  2. 它是通過使用一個保留字造成的錯誤方法名我想。

@Queue(name="quickBook") 
def reserve(msg) {} 

我改變了 「儲備」 到別的東西,它再次工作。編號:
好的,我錯了第二個。出於某種原因,註釋@Queue引發了這個問題。所以我不得不使用服務方法onMessage()代替。

編輯(06-07-2013): 又錯了,它只是簡單的工作。

+0

對於它的價值,我也有這個問題。我沒有任何編譯錯誤,但清理並沒有幫助。該應用程序構建得很好,但每次保存時,我的方法都不會被調用。我保存後,ActiveMQ Web控制檯中的使用者數量也爲0,因此似乎整個連接都被丟棄。 – 2013-05-10 06:20:32

+0

感謝您的評論。看起來我並不孤單。這個問題對我來說並沒有解決。如果我保存該方法,則隊列停止工作。我已經放棄了。希望有人會弄清楚這一點。 – wildleaf 2013-06-08 00:31:43