[英]Retry to establish a JMS connection while ActiveMQ broker is not available
這是我的情況。 我很少將ActiveMQ(JBoss-AMQ)生產者和消費者安裝為服務。 在服務器重新啟動中,處理生產者或使用者服務在ActiveMQ代理服務之前啟動的情況的最佳實踐是什么。 在那種情況下,即使在代理服務啟動之后,生產者/客戶端也無法建立連接並開始按原樣掛起。
這是我創建連接的代碼片段:
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的新手,感謝您的支持。
如本文檔所述,可以通過配置failover
來實現。 根據我的代碼段,我需要做的更改:
destination = session.createQueue("failover:"+destinationName);
producer = session.createProducer("failover:"+destination);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.