IBM.XMS中的重新连接设置

时间:2015-06-25 15:11:56

标签: .net ibm-mq xms

我们在IBM.XMS中是否具有Re-connection Attempt CountRe-connection Attempt DelayRe-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));

但这不起作用。代码打破了我停止队列管理器的那一刻。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

是的!请使用现代版本的MQ客户端和QMgr。功能和稳定性得到极大改善,包括使用客户端重新连接功能的能力。请参阅:

Automatic client reconnection in .NET

相关且重要的主题包括:

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

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

随客户端库提供,但如果您只需要客户端库,只需下载独立客户端即可。转到SupportPacs landing page并查找MC [vr]等名称。之后命名应该是直观的。 SupportPac MQC8是V8.0客户端,MQC75是v7.5客户端等。

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

答案 1 :(得分:2)

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