【问题标题】:Capture MQ down event from Spring JMS从 Spring JMS 捕获 MQ 关闭事件
【发布时间】:2018-02-06 17:51:53
【问题描述】:
Spring 的默认消息侦听器容器是否有任何方法,例如 ErrorHandler,我可以在其中捕获 MQ 关闭事件。
我可以从 spring 获取以下日志,但需要在 MQ 关闭时报告。
o.s.j.l.DefaultMessageListenerContainer : Setup of JMS message listener invoker failed for destination
o.s.j.l.DefaultMessageListenerContainer : Successfully refreshed JMS Connection
我怎样才能做到这一点?
【问题讨论】:
标签:
java
spring
jms
spring-jms
mq
【解决方案1】:
最后我通过覆盖 DefaultMessageListenerContainer 的 refreshConnectionUntilSuccessful 解决了我的问题,如下所示:
public class MessageListenerContainer extends DefaultMessageListenerContainer {
@Override protected void refreshConnectionUntilSuccessful() {
super.refreshConnectionUntilSuccessful();
// Your own implementation goes here like sending an email
logger.error(MessageListenerContainer.class, new Exception("MQ CONNECTION LOST"));
}}