我正在使用MQ 7x客戶端的MQ.NET類,並且導入和導出消息正常工作。但是,如果存在網絡斷開連接或遠程管理器斷開連接,那麼IBM MQ客戶端不會自動重新連接。我得到:如何自動連接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
我使用的代碼連接相同的隊列管理,MQCNO_RECONNECT_Q_MGR,我得到的錯誤 - 原因碼2046。我使用的是7倍的客戶端和連接到遠程隊列(這是6.0.5.2) – Sharpeye500 2013-04-08 18:31:36
啊!那就是問題所在。自動客戶端重新連接需要隊列管理器7.0或更高版本。它不適用於v6.0.x. – Shashi 2013-04-09 00:28:35
對於我來說即使使用客戶端版本7.5.0.5,我的客戶端程序在Java中也不會重新連接,即使我通過下面。它總是與2009年的錯誤失敗qMgr =新的MQQueueManager(queueMgr,MQConstants.MQCNO_RECONNECT); – sijo0703 2016-07-26 21:59:57