我正在编写一个从队列消费的 JMS 客户端。如果重要的话,我的经纪人是 activemq。
一项要求是,即使代理关闭,客户端也应该启动。在这种情况下,它的行为应该就像队列中没有消息一样,一旦代理启动并且消息开始出现,就会做出相应的行为。
问题是在我的代码中:
connectionFactory = new ActiveMQConnectionFactory(url);
Connection connection = connectionFactory.createConnection();
connection.start()
如果经纪商倒闭,那么它就会陷入困境connection.start()
。虽然我想要的是connection.start()
以静默方式返回,并在可以时继续尝试在后台连接并消费消息,而在不能时则保持静默。
我怎样才能做到这一点。
使用单独的线程从队列中消费并启动连接。您将需要使用并发队列实现。
主题 1:
- 实例化队列
- 启动线程2
- 尝试连接/阻止
- 将消息添加到队列
线程 2(或某种池):
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)