7. SpringBoot使用jms 聆聽連線錯誤處理


Aug 22, 2023

目標: 此次主要介紹jmsTemplate 連線MQ時發生錯誤時該如何處理

就以簡單的重新連線,要顯示特定資訊為例
回顧一下之前的一般設定檔

@Slf4j
@EnableJms
@Component
public class JmsListener {

@Bean
public JmsListenerContainerFactory<?> myFactory(ConnectionFactory connectionFactory,
                                                DefaultJmsListenerContainerFactoryConfigurer configurer) {
    DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();
    configurer.configure(factory, connectionFactory);
    return factory;
}
}

這個DefaultJmsListenerContainerFactory有開一個方法可以實作連線錯誤時該如何處理
而connectionFactory 可以實際建立連線
透過以上兩個物件就可以達到
加入下方程式碼區塊

factory.setExceptionListener(e -> {
                    try {
                        log.info("trying to connect to MQ");
                        connectionFactory.createConnection();
                    } catch (JMSException jmsException) {
                        jmsException.printStackTrace();
                    }
                });

當createConnection的當下就是去嘗試連線因此一連不上就會重複進入這個區塊中

補充:

主要是給自己的一個紀錄,也分享給有需要的夥伴
註解部分有提及一些參考的連結,有興趣可以點進去看看喔

這是一個心血來潮,產生的文章
若有喜歡或交流的部分都歡迎在下方留言,多多關照。

#mq #jmstemplate







你可能感興趣的文章

5.  SpringBoot使用jms錯誤處理延(2)

5. SpringBoot使用jms錯誤處理延(2)

Auto Generate Insert Script without SQL Manager

Auto Generate Insert Script without SQL Manager

CS 50 Dynamic Memory Allocation

CS 50 Dynamic Memory Allocation






留言討論





2
2
2