2012-03-22 188 views
0

我需要嵌入式ActiveMq和Spring Framework的幫助。想要關閉ActiveMq連接

問題是: - 我使用嵌入式ActiveMQ與Spring框架JMS支持。

作爲開發的一部分,我有一個將消息發佈到虛擬主題的組件。我還有另一個組件訂閱了這個主題的消息。這裏

現在的問題是這是訂閱的消息在集羣環境中運行即一個主實例和一個從實例的應用程序。我發佈的事件要麼是主實例,要麼是從實例。但是我希望郵件僅由主實例訂閱。有沒有什麼辦法可以阻止奴隸實例不訂閱事件?

我們有一個系統屬性設置來區分主從實例。我嘗試了通過覆蓋createConnectionActiveMqConnectionFactory類的方法來添加條件。

if(master) { 
ActiveMqConnectionFactory.createConnection} 
else 
return null. 
在這種情況下

DefaultMessageListener我們配置爲始終監聽事件嘗試刷新連接,因爲我是從返回null Spring框架,它是無法創建連接。線程是要無限循環與5000毫秒間隔..

有什麼辦法,我可以說的MessageListener停止更新連接..

煩請幫我解決這個問題..

回答

0

如果集羣是主/從......那麼只有一個應在特定時間被激活......聽起來像是你有一個從AMQ客戶端的角度雙主人...

不管,你總是可以使用ActiveMQ的安全控制訪問到基於連接憑證的給定主題/隊列(請參閱http://activemq.apache.org/security.html