IBM XMS 客户机在活动和备用队列管理器重新启动时未调用 ExceptionListerner

本文关键字:重新启动 管理器 ExceptionListerner 调用 队列 备用 客户机 XMS 活动 IBM | 更新日期: 2023-09-27 18:31:24

我正在使用XMS .NET客户端7.5版本连接到WebSphere的多实例队列管理器。

异步接收消息,并订阅了异常侦听器以接收WMQ连接上发生的任何异常。

为了测试队列管理器故障转移方案,我们终止了现有连接,并关闭了活动队列管理器实例和备用实例。在此操作过程中,连接的 XMS 客户端将调用附加的异常侦听器。异常侦听器方法中的逻辑,重新启动连接。然后我们很好,我们又开始在队列中接收消息。

但是,当多实例队列管理器中存在的所有 2 个实例(在本例中为 2)一起重新启动时,我们没有看到调用异常侦听器方法。因此,尽管队列中存在消息,但我们没有任何消息。

(后来我们关闭了客户端应用程序并再次启动,然后我们开始接收消息。

有了这个,我的问题是:

  1. 在我描述的场景中,这是例外情况吗?

  2. 如果是,即使在这种情况下如何调用异常侦听器方法。我是否需要从 XMSC 类在连接工厂上设置任何设置?

  3. 还有我的最后一个问题。特定的.NET XMS客户端和一般的JMS客户端如何知道连接仍然有效?

IBM XMS 客户机在活动和备用队列管理器重新启动时未调用 ExceptionListerner

默认情况下,XMS .NET 将尝试重新连接 30 分钟。如果在 30 分钟内未建立连接,则会引发带有 MQRC_RECONNECT_FAILED 的异常,并且不会再进行任何尝试。请看这里。在这种情况下,应用程序需要再次发出连接调用。

关于您的问题#3:最好拨打电话,例如发送或接收。如果没有与队列管理器的连接,那么将引发异常。应用程序处理该异常并再次发出连接调用。

相关文章: