MQミドルウェアチャネルのステータスステータス(再試行)の問題の分析と解決策 この問題は通常、送信側で送信されます。チャネルを開始するコマンドを発行した後、チャネルはバインド状態になります。ネットワーク接続がスムーズで、チャネルが正しく定義されている場合は、チャネルが開始されます。通常の実行状態で、次の問題が発生すると、チャネルは再試行状態になります。 チャンネルステータスの一例が確認 RUNMQSC QMgrName $ DIS CHS(C) AMQ8417 :.詳細はステータスチャンネルを表示 CHANNEL(C)XMITQザ・(QX) CONNAME(xxx.xxx.xxx.xxx(1416))CURRENT CHLTYPE(SDR)STATUS(RETRYING) 原因そこにいくつかの可能な ネットワーク接続の問題、1 2は、チャネル定義が正しくない 3、チャネルを介してメッセージ・シーケンス番号(メッセージシーケンス番号)と一致しない 、4チャネル定義CONNAME(ます。hostname(PortNumberの))が、ホスト名を使用してhostsファイルに定義がありません 5.レシーバーを接続できません 6.レシーバーが監視を開始しません 7.レシーバーのポートが占有されています(たとえば、ポートが他のキューマネージャーによって占有されています) 解決策 A.ネットワーク接続に問題があります ネットワークを含むチャネルの定義が利用できないことを確認します。Telnetポートを使用して接続をテストできます $ runmqsc QMgrName PING CHANNEL(channel_name)[DATALEN(16 | integer)] DATALENはPINGデータを表しますパケットサイズは16バイトから32,768バイトです。 B.チャネルの両端のメッセージシーケンス番号が一致しません。詳細について は、この記事を参照してください:Websphere MQ メッセージシーケンス番号詳細説明 C.チャネル定義が正しくありません。 チャネル構成を確認してください。メソッドを確認してください: $ runmqsc QMgrName dis chl(ChannelName) D.チャネル定義のCONNAME(HostName(PortNumber))はホスト名を使用していますが、hostsファイルで定義されていません。 チャネル定義を確認してください。メソッドを確認してください: $ runmqsc QMgrName dis chl(ChannelName) CONNAMEがホスト名を使用しているかどうかを確認します(使用されている場合) 、/ etc / hostsファイルに定義があるか確認してください。 E.レシーバーを接続できず、F。レシーバーがモニタリング チェックメソッドを開始していません。MQSCのチャネルテストコマンドPINGの形式は次のとおりです。PING PINGコマンドは、相手のキュー・マネージャーまたはポート・リスナーが開始されているかどうかを確認でき、また、相手のチャネル定義が正しいかどうかも確認できます。ただし、チャネルの一般的な状態はチェックされません。つまり、PING CHANNELは、チャネルが現在接続されているかどうかではなく、接続できるかどうかのみをチェックします。 G.受信ポートは、受信側の 対応するキューマネージャーを占有して待機を停止し、ポートがまだ待機しているかどうかを確認します。 $ netstat -an | grep port number