gpt4 book ai didi

c# - 如何自动连接 IBM MQ 客户端?

转载 作者:太空狗 更新时间:2023-10-30 01:21:23 25 4
gpt4 key购买 nike

我正在使用 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 返回 true/false,但这对自动连接没有帮助。

这是我正在使用的:

   // 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

最佳答案

从 v7.1 开始,MQ C# 客户端支持自动客户端重新连接。您必须使用 MQCNO_RECONNECTMQCNO_RECONNECT_Q_MGRMQCNO_RECONNECT_AS_DEF CNO 选项来启用自动重新连接。 MQ v7.1 提供了几个样本,SimpleClientAutoReconnectPut.cs 就是其中之一。详情请引用示例。

简单的片段。

mqQMgr = new MQQueueManager("QM", MQC.MQCNO_RECONNECT,"SVRCONNCHN","localhost(1414)");

关于c# - 如何自动连接 IBM MQ 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15844983/

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