IBM MQ との相互運用: トラブルシューティングのヒント

以下の一連の具体的なヒントを、 WebSphere® MQ リンク、またはデフォルトのメッセージング・プロバイダーの WebSphere MQ サーバー・コンポーネントを使用して IBM MQ との相互運用を行う場合に、問題のトラブルシューティングに役立ててください。

WebSphere MQ リンク・チャネルが開始されない

エラー・メッセージが SystemOut.log ファイル、またはトレースがオンの場合は trace.log ファイルに現れる。
注: このトピックでは、 1 つ以上のアプリケーション・サーバー・ログ・ファイルを参照します。推奨される代替案として、分散システムや IBM® i システムの SystemOut.logSystemErr.logtrace.logactivity.log ファイルではなく、High Performance Extensible Logging (HPEL) ログおよびトレース・インフラストラクチャーを使用するようにサーバーを構成できます。また HPEL は、ネイティブ z/OS® ロギング機能と連携させて使用することができます。HPEL を使用する場合、LogViewer コマンド・ライン・ツールを サーバー・プロファイルの bin ディレクトリーから使用して、すべてのログ・ファイルにアクセスし、 情報をトレースできます。HPEL の使用について詳しくは、HPEL を使用してのアプリケーションの トラブルシューティングに関する情報を参照してください。
  1. WebSphere MQ リンク送信側チャネルまたは MQLinkReceiver (あるいはその両方) の定義に指定されたチャネル名が、 IBM MQ ネットワークの送信側/受信側の定義に指定されたものと 一致することを確認します。

    チャネル名は大/小文字を区別します。

  2. チャネル・シーケンス番号のステップが正しいことを確認します。 これが正しくない場合、シーケンス番号がリセットされるまで、チャネルは再試行状態になります。

    WebSphere MQ リンク送信側チャネルでは、WebSphere MQ リンク送信側チャネルの管理ページを使用して、シーケンス番号を 1 にリセットできます。この処理では、 WebSphere MQ 受信側チャネルにリセット命令が渡されます。オプションで、 WebSphere MQ 受信側チャネルを、 WebSphere MQ リンク送信側チャネルに一致する値にリセットすることもできます。 この処理によりデータが WebSphere MQ リンク送信側チャネルに受け渡されることはなく、シーケンス問題を解決するための有効な手段としてこの処理を利用することができます。

    WebSphere MQ リンク受信側チャネルでは、WebSphere MQ 送信側チャネルを使用して IBM MQ のシーケンス番号をリセットする必要があります。Windows システムで IBM MQ Explorer を使用している場合、チャネルを右クリックし、「すべてのタスク」 > 「リセット」と選択することができます。

    メッセージの CWSIC3011ECWSIC3015E を探します。

  3. チャネルの両端が正しく定義され構成されていることを確認します。 チャネルのリモート・エンドが現在停止状態であるため使用できない場合があります。 可能な場合は、リモート・エンドでチャネルを開始します。

    メッセージの CWSIC3018ECWSIC3113ECWSIC3114ECWSIC3236E を探します。

  4. チャネル・シーケンス番号の折り返し値が、チャネルの両端で同じであることを確認します。

    メッセージの CWSIC3010E を探します。

  5. WebSphere MQ リンク送信側のチャネルが未確定状態でないことを確認します。必要に応じて、チャネルを解決します。 チャネルは、IBM MQ によって解決されます。Windows で IBM MQ Explorer を使用している場合、チャネルを右クリックし、「All Tasks」>「Resolve」と選択することができます。

    メッセージの CWSIC3065E を探します。

  6. リスナーが開始されており、正しいポートで listen していることを確認します。デフォルトでは、サービス統合ではポート 5558 でインバウンド接続を listen します。 IBM MQ ネットワークは、ポート 1414 を listen します。

WebSphere MQ リンク経由で送信したメッセージが配信されない

注: エラー・メッセージが SystemOut.log ファイル、またはトレースがオンの場合は trace.log ファイルに現れる。同等のメッセージは IBM MQ エラー・ログでも検索可能 (または、IBM MQ ネットワークでトレースがオンの場合はトレース・ファイル)。
  1. サービス統合バスから IBM MQ ネットワークにメッセージを送信している場合、 メッセージがサービス統合バスに保管されて配信待ちの状態である一方、 WebSphere MQ リンク送信側チャネルが開始されていないか、再試行状態である場合があります。

    WebSphere MQ リンク送信側チャネルが 開始されていて、実行状態であることを確認します。

  2. IBM MQ ネットワークからサービス統合バスにメッセージを送信している場合、 メッセージが IBM MQ ネットワーク内の転送キューに保管されて配信待ちの状態である一方、 IBM MQ ネットワーク内の送信側チャネルが開始されていないか、再試行状態である場合があります。

    IBM MQ ネットワークの送信側チャネルが開始されていて実行状態であることを確認します。

  3. メッセージの処理やターゲット宛先へのメッセージの配信ができない場合、サービス統合バスの例外宛先、 または IBM MQ ネットワークのデッド・レター・キューにこれらのメッセージが配置された可能性があります。 メッセージング・ エンジンの IBM MQ リンクが正しい外部バス、キュー・マネージャー名 (サービス統合バス)、 送信側チャネルおよび受信側チャネルで適切に構成されていることを確認します。IBM MQ リンクの送信側チャネルは、IBM MQ の送信側チャネルと一致している必要があります。IBM MQ リンクの受信側 チャネルは、IBM MQ の送信側チャネルと一致している必要があります。

    メッセージの CWSIC3096ICWSIC3098ICWSIC3200ECWSIC3209E を探します。

    例外宛先およびデッド・レター・キューをチェックします。 ターゲット宛先が定義されていないか、いっぱいである可能性があり、この場合は、 ターゲット宛先からメッセージが処理されない理由を判別してください。

  4. ターゲット宛先および例外宛先/デッド・レター・キューがいっぱいで、以降のパーシスタント・メッセージを正しく配信できない場合があります。 これらの状況では、メッセージが失われないよう、チャネルが停止されます。

    メッセージの CWSIP0291W を探します。

    ターゲット宛先からメッセージが処理されない理由を判別してください。

  5. ターゲット宛先および例外宛先/デッド・レター・キューがいっぱいで、以降の非パーシスタント・メッセージが廃棄される場合があります。

    アプリケーションで生成されるメッセージのパーシスタンスをチェックしてください。

  6. リモート・システムで何らかの理由によりメッセージを受け入れられないため、チャネルが停止している場合があります。

    メッセージの CWSIC3080E を探します。

アプリケーション・サーバーがシャットダウンできない

WebSphere MQ リンク送信側チャネルに配信するメッセージが ない場合は、タイムアウト前の指定された切断間隔の間待機します。アプリケーション・サーバーをシャットダウンする際に WebSphere MQ リンク送信側チャネルが 待ち状態であった場合、アプリケーション・サーバーは WebSphereMQ リンク送信側チャネルがタイムアウトするまでシャットダウンを待たなければなりません。 切断間隔が長い場合には、サーバーのシャットダウンが遅れることがあります。

アプリケーション・サーバーの シャットダウンが WebSphere MQ リンク送信側チャネルの待ち状態によって 遅れる場合には、2 つの選択肢があります。
  • WebSphere MQ リンク送信側チャネルの伝送項目ストリームへメッセージを入れるようにします。アプリケーション・サーバーのシャットダウン処理が 既に進行している場合には、チャネルの待ち状態は解除されないことがあることに注意してください。
  • アプリケーション・サーバーの処理を強制的に終了させます。

アプリケーション・サーバーのシャットダウン中になるべく遅延を起こさないようにするために、切断間隔に小さな値を指定します。切断間隔値 に 0 を設定すると、永久に待機するので注意してください。WebSphere MQ リンク送信側チャネルの 切断間隔の設定について詳しくは、IBM MQ リンク送信側チャネルの追加または変更を参照してください。

JMS が WebSphere MQ サーバーへのメッセージ送信を試みる

JMS アプリケーションで WebSphere MQ サーバーへのメッセージの送信を試みると、内部エラーの例外メッセージの長いリストが発行されます。 この現象が発生するのは、WebSphere MQ サーバーが、 IBM MQ のサポート対象外のバージョンに接続するように構成されている場合です。

この状態では、JMS アプリケーションが、WebSphere MQ サーバーのバス・メンバーに定義されているサービス統合バス宛先にメッセージを送信しようとすると、長い例外メッセージのリストが表示されます。 CWSJP0019E メッセージは、バージョンに問題があることを示しています。
com.ibm.ws.sib.remote.mq.exceptions.CorruptRMQSessionException: 
CWSJP0019E: An attempt to connect to WebSphere MQ using the information that is
provided by the WebSphere MQ Server bus member MQServer1-BUS1 resulted in a 
connection to a WebSphere MQ queue manager running on version MQCMDL_LEVEL_600 
on platform MQPL_WINDOWS_NT. この構成はサポートされません。宛先
that are assigned to the WebSphere MQ Server bus member are not accessible.

WebSphere MQ サーバーが、 IBM MQ のサポート対象バージョンと相互運用を行うように構成されていることを確認してください。WebSphere Application Server バージョン 7.0 以降 と相互運用するためには、WebSphere MQ のバージョンは WebSphere MQ for z/OS バージョン 6 以降、または WebSphere MQ (分散プラットフォーム) バージョン 7 以降である必要があります。


トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rjc_prob0
ファイル名:rjc_prob0.html