【发布时间】:2010-06-04 10:31:16
【问题描述】:
一段时间后我无法重新连接到 MQQueueManager,因为在我构建 MQQueueManager 的新对象时抛出异常(原因代码 2059 - MQRC_Q_MGR_NOT_AVAILABLE)。我的客户端应用程序是用 .NET/C# 编写的,我在 Win2003 上运行它。
但是,我可以在重新启动客户端应用程序后连接到 QM。这是否表明 QM 库中的某些状态不正确?如何重置代码中的状态以便重新连接到 QM?有没有办法从客户端应用程序代码重置/断开与 QM 的所有活动 TCP 连接?
我的连接代码:
Hashtable 属性 = 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()【问题讨论】: