想要关闭ActiveMq连接
问题描述:
我需要嵌入式ActiveMq和Spring Framework的帮助。想要关闭ActiveMq连接
问题是: - 我使用嵌入式ActiveMQ与Spring框架JMS支持。
作为开发的一部分,我有一个将消息发布到虚拟主题的组件。我还有另一个组件订阅了这个主题的消息。这里
现在的问题是这是订阅的消息在集群环境中运行即一个主实例和一个从实例的应用程序。我发布的事件要么是主实例,要么是从实例。但是我希望邮件仅由主实例订阅。有没有什么办法可以阻止奴隶实例不订阅事件?
我们有一个系统属性设置来区分主从实例。我尝试了通过覆盖createConnection
类ActiveMqConnectionFactory
类的方法来添加条件。
if(master) {
ActiveMqConnectionFactory.createConnection}
else
return null.
在这种情况下
,DefaultMessageListener
我们配置为始终监听事件尝试刷新连接,因为我是从返回null Spring框架,它是无法创建连接。线程是要无限循环与5000毫秒间隔..
有什么办法,我可以说的MessageListener停止更新连接..
烦请帮我解决这个问题..
答
如果集群是主/从......那么只有一个应在特定时间被激活......听起来像是你有一个从AMQ客户端的角度双主人...
不管,你总是可以使用ActiveMQ的安全控制访问到基于连接凭证的给定主题/队列(请参阅http://activemq.apache.org/security.html)