gpt4 book ai didi

c# - IBM JMS 连接

转载 作者:行者123 更新时间:2023-11-30 18:08:18 25 4
gpt4 key购买 nike

我目前正在使用 C#,我需要检查我建立的 JMS 连接的状态(无论是连接还是断开)。我确定我可以成功连接和断开连接..只是我需要在我的 UI 中显示连接状态。

JMS 连接是否有任何属性表明连接状态?或者有没有其他方法可以用来检查连接状态?

感谢您的帮助。 :)


目前,我正在使用 ExceptionListener 来监听任何异常,并且在捕获到任何异常时都会将标志设置为 false。当我连接时,我会将标志设置为 true,反之亦然,当我断开连接时,我会将标志设置为 false。

我的 UI 将使用此标志来检测连接是否已启动。

但是我在想,如果 IBM 连接有任何属性/方法可用于显示连接状态,那么这是一个更好的解决方案。对于 SonicMQ,有 .getConnectedState() 显示连接是事件的还是非事件的。 我想知道 IBM 是否有类似于 SonicMQ 的东西?

最佳答案

您可以使用 Connection.setExceptionListener()在连接中检测到的异常被异步通知的方法。如果检测到问题,则调用 onException() 方法。

一定要设置 FAILIFQUIESCE工厂和目的地的属性,以便在管理员关闭 QMgr 时通知您的连接并以有序的方式关闭。

在 WMQ 的 v7 中,可以在传输中启用 session 重新连接。在这种情况下,应用程序可能不知道连接已中断,但您可以将其视为持续连接。

请注意,在大多数情况下,异常是由应用程序的 API 调用驱动的。因此,如果连接丢失,您可能不会实时知道,而是会在进行 API 调用时发现。如果应用程序长时间处于空闲状态并且您希望实时显示连接状态。有关该主题的更多信息,另请参阅“How to find out if JMS Connection is there?”。

WMQ v7 具有自动重新连接客户端的选项。您必须在客户端和服务器上都使用 v7 才能工作。由于从 2011 年 9 月起 v6 已停产,因此最好在 v7 上开发此应用程序。您可以将 v7 客户端下载为 SupportPac MQC7 .当JMS client reconnect启用时,应用程序可能不知道连接事件,除非在重建连接时延迟响应 API 调用。该延迟的长度取决于管理员和连接工厂中设置的 channel 调整。

关于c# - IBM JMS 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3331843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com