从ActiveMQ捕获断开连接事件

时间:2014-10-21 06:21:09

标签: activemq nms

使用1.6版本的NMS(1.6.3 activemq) 我正在设置一个等待消息的监听器。 监听器有一个自己的线程(不是我的),我的代码超出了范围(直到调用了监听器的函数)。

如果ActiveMQ服务器断开连接,我会得到一个全局异常,我只能全局捕获。 (我创建监听器的线程不会捕获它。我没有任何内容可以包含"尝试"和#34;捕获")。

有没有办法设置回调函数,如OnError + = ErrorHandlingFunction(),因为我使用侦听器以本地方式处理此问题而不是全局异常捕获器? 有没有更好的方法来处理这个问题(我不能使用传输故障,因为我没有任何其他选择,但要等待一段时间,然后断开连接,可能会记录某些内容或发送消息说明服务器离线)。

1 个答案:

答案 0 :(得分:0)

客户端中没有用于挂钩异步消息侦听器的机制,以确定在处理消息期间是否丢弃了连接。你应该仔细研究为什么你认为你需要这样的东西。

您在异步回调中使用的NMS API方法将在未连接时抛出异常,因此如果您尝试在异步消息事件处理程序中确认消息,则会在连接断开时抛出异常。