gpt4 book ai didi

java - JMS QPID 句柄重新连接

转载 作者:行者123 更新时间:2023-12-02 10:32:29 25 4
gpt4 key购买 nike

我正在使用带有 QPID 的 JMS,并且想知道如果无法再访问代理,如何配置重新连接:

try (Connection connection = jmsFactory.createConnection(); Session session = connection.createSession()) {
Queue queue = session.createQueue("queue:testQueue");
Topic topic = session.createTopic("topic:testTopic");
TextMessage message = session.createTextMessage("toQueue");
TextMessage message2 = session.createTextMessage("toTopic");

MessageProducer producer = session.createProducer(queue);
producer.send(message);
MessageProducer producer2 = session.createProducer(topic);
producer2.send(message2);
MessageConsumer consumer = session.createConsumer(queue);
consumer.setMessageListener(new MessageListener() {

@Override
public void onMessage(Message message) {
try {
String content = extractBody(message);
System.out.println("From: " + message.getJMSDestination() + " Content: " + content);
message.acknowledge();
} catch (JMSException e) {
System.out.println("CANNOT GET CONTENT= " + e);
}
}
});
connection.start();
consumer.close();
}catch ...

如果代理不再可达,我想重新连接,直到代理再次恢复。

最佳答案

如果您指的是Qpid JMS然后客户端提供故障转移传输来为您处理自动重新连接,以便您的代码不需要执行任何操作。 documentation解释了如何配置它,基本上是修改 URI 以使用故障转移标记包装主机信息:

 failover:(amqp://123.0.0.123:5672)

关于java - JMS QPID 句柄重新连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53536742/

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