簡體   English   中英

ActiveMQ代理不可用時重試建立JMS連接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM