2

我们在 IBM.XMS 中是否具有设置功能Re-connection Attempt CountRe-connection Attempt Delay就像Re-connection Attempt Timeout我们在 Tibco 中一样?

我将在 .NET 应用程序中使用 IBM.XMS 向/从 IBM MQ 发送/接收消息。如果由于某种原因 IBM MQ 出现故障,我相信这些设置将允许 .NET 应用程序尝试重新连接,从而避免应用程序中的任何崩溃。

更新

我在http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.msc.doc/xms_automatic_client_reconnection.htm获得了一些信息。使用这个我正在使用以下内容:

oConFactory.SetIntProperty(XMSC.WMQ_CLIENT_RECONNECT_OPTIONS, XMSC.WMQ_CLIENT_RECONNECT_Q_MGR);
oConFactory.SetStringProperty(XMSC.WMQ_CONNECTION_NAME_LIST, String.Format("{0}({1})", con.Host, con.Port));
oConFactory.SetIntProperty(XMSC.WMQ_CLIENT_RECONNECT_TIMEOUT, ((con.ReconnectTimeout.HasValue && con.ReconnectTimeout.Value != 0) ? con.ReconnectTimeout.Value : XMSC.WMQ_CLIENT_RECONNECT_TIMEOUT_DEFAULT));

但这不起作用。当我停止队列管理器时,代码正在中断。有什么建议么 ?

4

2 回答 2

2

是的!请使用现代版本的 MQ 客户端和 QMgr。功能和稳定性都得到了极大的提升,包括使用客户端重连功能的能力。请参见:

.NET 中的自动客户端重新连接

相关且重要的主题包括:

  • 连接选项- 本地连接到 MQ 的不同方式
  • 连接差异- 描述 MQ 对 .Net 的托管和非托管连接的使用及其差异。

前面的链接来自 v7.5 文档。如果您需要 v8.0 文档(强烈建议使用撰写本文时最新的 v8.0 QMgr 和客户端),请转到此处

如果您需要 QMgr 在您的个人工作站上进行测试, IBM 已经发布了一个名为WebSphere MQ Advanced for Developers的全功能、永不过期的产品。

这是客户端库附带的,但如果您只需要客户端库,只需下载独立客户端即可。转到SupportPacs 登录页面并查找类似 MC[vr] 的名称。之后的命名应该是直观的。 SupportPac MQC8是 V8.0 客户端,MQC75是 v7.5 客户端等。

如果您需要 WMQ Explorer 下载,请选择SupportPac MS0T。在这种情况下,我强烈建议您同时获取MS0P并将其解压缩到 Explorer Dropins 文件夹。

于 2015-06-25T16:14:23.080 回答
2

您没有提到如何停止队列管理器。如果您使用命令停止队列管理器,则不会发生重新连接endmqm <qm>。您将需要使用 停止队列管理器endmqm -r <qm>。该-r选项通知客户端应用程序重新连接。如果您正在使用MQ Explorer,则在停止队列管理器时选择面板"Instruct reconnectable clients to reconnect"上的选项。Stop Queue Manager

于 2015-06-26T00:21:49.887 回答