gpt4 book ai didi

java - 故障转移时的 ActiveMQ MessageConsumer 行为

转载 作者:行者123 更新时间:2023-12-01 23:44:27 26 4
gpt4 key购买 nike

我有一个应用程序,它在启动时注册 MessageConsumer 对象的静态列表,并在消息传入时在后台(通过 MessageListener 对象)执行操作。我想确保我的代码正确处理故障转移。如果发生故障转移,MessageConsumer 对象是否会自动转移到故障转移的连接,或者我是否需要重新创建使用者?这是代码的相关部分:

public class ActiveMQHandler {
private final List<MessageConsumer> consumers = new ArrayList<>();
private final Connection connection;
private final Session session;

public class ActiveMQHandler() {
String url = "failover(ssl://...,ssl://...)";
ActiveMQSslConnectionFactory factory = new ActiveMQSslConnectionFactory(url);
connection = factory.createConnection();
connection.start();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
...
MessageConsumer consumer = session.createConsumer(...);
consumer.setMessageListener(...); // will these still trigger after failover or do I need to recreate the consumer?
consumers.add(consumer);
...
}

public void shutdown() {
// close everything
...
}
}

最佳答案

故障转移传输的重点是使过程尽可能透明,所以是的,如果您创建了消费者,那么故障转移传输将在重新连接时与代理重新创建该资源。

关于java - 故障转移时的 ActiveMQ MessageConsumer 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58246111/

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