gpt4 book ai didi

java - ActiveMQ:在没有代理的情况下启动消费者

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:03:00 24 4
gpt4 key购买 nike

我正在编写一个从队列消费的 JMS 客户端。如果重要的话,我的经纪人是 activemq。

一个要求是,即使代理关闭,客户端也应该启动。在那种情况下,它应该表现得好像队列中没有消息一样,并且一旦代理启动并且消息开始出现相应的行为。

问题是在我的代码中:

connectionFactory = new ActiveMQConnectionFactory(url);
Connection connection = connectionFactory.createConnection();
connection.start()

如果 broker 挂了,它就会卡在 connection.start() 中。虽然我想要的是 connection.start() 静默返回并继续尝试在后台连接并在可以时使用消息,在不能时保持静音。

我怎样才能做到这一点。

最佳答案

使用单独的线程从队列中消费和启动连接。您将需要使用并发队列实现。

线程 1:

  • 实例化队列
  • 启动线程 2
  • 尝试连接/阻止
  • 将消息添加到队列

线程 2(或某种池):

  • 启动客户端
  • 从队列/ block 中读取
  • 处理消息

关于java - ActiveMQ:在没有代理的情况下启动消费者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4303075/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com