如何使用HA配置连接到IBM MQ Manager?

时间:2017-02-07 13:39:54

标签: c# ibm-mq

我正在编写一个C#客户端,它使用amqmdnet.dll使用以下结构连接到IBM Websphere MQ Manager:

_myQueueManager = new MQQueueManager(queueManagerName, properties);

在属性Hashtable中,我正在设置主机名,频道和队列管理器。现在,如何在客户端应用程序中使用自动重新连接功能?我们有IBM MQ多实例队列管理器HA配置。

基本上,我有四个终点,如果我的客户连接失败,我必须退回吗?

1 个答案:

答案 0 :(得分:5)

根据the docs

  

您可以提供主机名和端口列表作为参数   构造函数MQQueueManager(String queueManagerName,Hashtable   使用CONNECTION_NAME_PROPERTY。

     

例如:

ConnectionName = "fred.mq.com(2344),nick.mq.com(3746),tom.mq.com(4288)";
Hashtable Properties-new Hashtable();
properties.Add(MQC.CONNECTION_NAME_PROPERTY,ConnectionName);
MQQueueManager qmgr=new MQQueue Manager("qmgrname",properties);
     

尝试连接时,连接名称列表为   按顺序处理。如果连接尝试第一个主机名   和端口失败,然后连接到第二对属性是   尝试。客户端重复此过程,直到成功为止   建立连接或列表已用尽。如果列表用尽,   一个适当的原因代码和完成代码返回给   客户申请。

请务必遵循Automatic client reconnection in .NET中的建议,以确保针对托管/非托管模式正确指定选项。