0

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

如果 ActiveMQ 服务器断开连接,我会得到一个只能全局捕获的全局异常。(我创建侦听器的线程不会捕获它。我没有什么可以用“try”和“catch”包装的)。

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

4

1 回答 1

0

客户端中没有用于挂钩异步消息侦听器以查明在消息处理期间连接是否断开的机制。你真的应该检查为什么你认为你需要这样的东西。

您在异步回调中使用的 NMS API 方法在未连接时将引发异常,因此如果您执行类似尝试在异步消息事件处理程序中确认消息的操作,那么如果连接断开,它将引发异常。

于 2014-10-21T17:30:54.077 回答