I can't reconnect to MQQueueManager after a while as an exception (reason code 2059 - MQRC_Q_MGR_NOT_AVAILABLE) is thrown when I'm constructing new object of MQQueueManager. My client app is written in .NET/C# and I'm running it on Win2003.
However I can connect to QM after I have restarted my client app. This would indicate that some state is incorrect in QM libraries? How can I reset the state in code so that I could reconnect to QM? Is there a way to reset/disconnect all active TCP connections to QM from client app code?
My connection code:
Hashtable properties = new Hashtable(); properties.Add( MQC.HOST_NAME_PROPERTY, Host ); properties.Add( MQC.PORT_PROPERTY, Port ); properties.Add( MQC.USER_ID_PROPERTY, UserId ); properties.Add( MQC.PASSWORD_PROPERTY, Password ); properties.Add( MQC.CHANNEL_PROPERTY, ChannelName ); properties.Add( MQC.TRANSPORT_PROPERTY, TransportType ); // Following line throws an exception randomly MQQueueManager queueManager = new MQQueueManager( qmName, properties );
Stack trace:
Source: amqmdnet CompletionCode: 2 ReasonCode: 2059 Reason: 2059 Stack Trace: at IBM.WMQ.MQBase.throwNewMQException() at IBM.WMQ.MQQueueManager.Connect(String queueManagerName) at IBM.WMQ.MQQueueManager..ctor(String qmName, Hashtable properties) at WebSphereMQOutboundAdapter.WebSphereMQOutbound.ConnectToWebSphereMQ()