一段时间后我无法重新连接到 MQQueueManager,因为在我构建 MQQueueManager 的新对象时抛出异常(原因代码2059 - MQRC_Q_MGR_NOT_AVAILABLE)。我的客户端应用程序是用 .NET/C# 编写的,我在 Win2003 上运行它。
但是,我可以在重新启动客户端应用程序后连接到 QM。这是否表明 QM 库中的某些状态不正确?如何重置代码中的状态以便重新连接到 QM?有没有办法从客户端应用程序代码重置/断开与 QM 的所有活动 TCP 连接?
我的连接代码:
哈希表属性 = new Hashtable(); properties.Add(MQC.HOST_NAME_PROPERTY, 主机); properties.Add(MQC.PORT_PROPERTY, 端口); properties.Add(MQC.USER_ID_PROPERTY, UserId); properties.Add(MQC.PASSWORD_PROPERTY, 密码); properties.Add(MQC.CHANNEL_PROPERTY, ChannelName); properties.Add(MQC.TRANSPORT_PROPERTY, TransportType); // 下面一行随机抛出异常 MQQueueManager queueManager = new MQQueueManager(qmName, properties);
堆栈跟踪:
资料来源:amqmdnet 完成代码:2 原因代码:2059 原因:2059 堆栈跟踪: 在 IBM.WMQ.MQBase.throwNewMQException() 在 IBM.WMQ.MQQueueManager.Connect(字符串 queueManagerName) 在 IBM.WMQ.MQQueueManager..ctor(字符串 qmName,哈希表属性) 在 WebSphereMQOutboundAdapter.WebSphereMQOutbound.ConnectToWebSphereMQ()