我有一个 C# 发布者和订阅者,它们使用 ActiveMQ 和 NMS 相互通信。一切工作正常,除了我无法知道 ActiveMQ 何时出现故障。这对于消费者来说尤其不利。他们停止获取数据,但除了数据停止显示之外,不会引发任何错误或事件。
有没有办法使用 NMS(特别是 Apache.NMS.IConnection 或 Apache.NMS.ISession 对象)
我从 Spring 下载了正在使用的实现,但我没有使用任何特定的 spring 实现,我使用的所有内容都位于 Apache.NMS 和 Apache.NMS.ActiveMQ 命名空间中。
好吧,自从提出这个问题以来已经过去了很多时间,但现在您有几个可用的活动:
m_connection.ConnectionInterruptedListener += new ConnectionInterruptedListener(OnConnectionInterruptedListener);
m_connection.ConnectionResumedListener += new ConnectionResumedListener(OnConnectionResumedListener);
m_connection.ExceptionListener += new ExceptionListener(OnExceptionListener);
其中 m_connection 是 IConnection 对象。
通过这 3 个事件,您将能够找到您的代理何时关闭(以及其他有用的信息,例如何时恢复连接或何时遇到异常)
注意:如果您处于故障转移模式,这些异常将被故障转移传输层吞并并自动处理。因此您将不会收到任何这些事件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)