在ActiveMQ代理不可用时重试建立JMS连接
这是我的设想。我很少将ActiveMQ(JBoss AMQ)生产者和消费者作为服务安装。在服务器重启中,处理生产者或消费者服务在ActiveMQ代理服务之前启动的情况的最佳实践是什么。在这种情况下,生产商/客户机无法建立连接,甚至在代理服务启动后也开始挂起 以下是我创建连接的代码片段:在ActiveMQ代理不可用时重试建立JMS连接,jms,activemq,jboss-amq,Jms,Activemq,Jboss Amq,这是我的设想。我很少将ActiveMQ(JBoss AMQ)生产者和消费者作为服务安装。在服务器重启中,处理生产者或消费者服务在ActiveMQ代理服务之前启动的情况的最佳实践是什么。在这种情况下,生产商/客户机无法建立连接,甚至在代理服务启动后也开始挂起 以下是我创建连接的代码片段: try { connection = connectionFactory.createConnection(); connection.start();
try {
connection = connectionFactory.createConnection();
connection.start();
LOGGER.info(STARTED_CONNECTION_WITH_THE_DESTINATION + destinationName);
session = createSession();
destination = session.createQueue(destinationName);
LOGGER.info(CREATED_QUEUE_IN_DESTINATION + destinationName);
if (isImageProcAgent) {
consumer = createConsumer();
LOGGER.info(CONSUMER_HAS_BEEN_INITIALIZED);
} else {
producer = session.createProducer(destination);
LOGGER.info(PRODUCER_HAS_BEEN_INITIALIZE);
}
} catch (MessagingException e) {
LOGGER.error(e);
} catch (JMSException e) {
LOGGER.error(e);
}
我是JMS新手,非常感谢您的支持。这可以通过配置
故障切换来实现。
根据我的代码片段,我需要的更改是:
destination = session.createQueue("failover:"+destinationName);
producer = session.createProducer("failover:"+destination);