我正在使用 MQ 7x 客户端的 MQ.NET 类,并且导入和导出消息工作正常。但是,如果网络断开连接或远程管理器断开连接,IBM MQ 客户端不会自动重新连接。我得到:
Error: Remote host ' not available, retry later.
发生此类问题时,有没有办法自动连接并继续处理消息?
有一个属性可以检查队列管理器的连接:
mqQMgr = new MQQueueManager("My queue manager name" ,"my channel name",",my connection name");
mqQMgr.IsConnected
返回真/假,但这无助于自动连接。
这就是我正在使用的:
// mq properties
Hashtable properties = new Hashtable();
properties.Add(MQC.TRANSPORT_PROPERTY, MQC.TRANSPORT_MQSERIES_MANAGED);
properties.Add(MQC.CONNECTION_NAME_PROPERTY, "connectionName");
properties.Add(MQC.CHANNEL_PROPERTY, "channelName");
properties.Add(MQC.CONNECT_OPTIONS_PROPERTY, MQC.MQCNO_RECONNECT_Q_MGR);
mqQMgr = new MQQueueManager("my queue manager"), properties); //error thrown
我在上面的行中收到此错误
IBM MQException caught in send message - reason code - 2046- message -CompCode: 2, Reason: 2046
{"MQRC_OPTIONS_ERROR"}
base {System.ApplicationException}:
{"MQRC_OPTIONS_ERROR"}
CompCode: 2
CompletionCode: 2
Message: "MQRC_OPTIONS_ERROR"
Reason: 2046