アプリケーションの停止時に、リモート・メッセージ・ポイントまたはサブスクリプション・ポイントを経由してメッセージがコンシュームされていない理由の調査

メッセージがリモート・メッセージ・ポイントを経由してルーティングされていて、コンシューマー・アプリケーションが停止されている場合に、メッセージがサービス統合バス上の宛先でコンシュームされていない理由を調査するために実行できる一連の検査があります。

始める前に

問題と最も合致する、point-to-point メッセージがコンシュームされていない理由の調査またはパブリッシュ/サブスクライブ・メッセージがサブスクリプションに到着しない理由の調査のいずれかに記載されているステップに従います。 これらのトピックには、このタスクを進める前に実行する必要のある、事前確認および調査タスクが記載されています。

このタスクについて

このタスクは、point-to-point メッセージがコンシュームされていない理由の調査またはパブリッシュ/サブスクライブ・メッセージがサブスクリプションに到着しない理由の調査のいずれかの一部として実行します。 このタスクでは、メッセージがリモート・メッセージ・ポイントを経由して経路指定されていて、コンシューマー・アプリケーションが停止済みであるシナリオにおいて、メッセージのフローを調査する方法について説明します。以下の図には、2 つの考えられるシナリオが示されています。 図 1 では、バスに 3 つのメッセージング・エンジン、ME1、ME2、および ME3 が 含まれています。プロデューサー・アプリケーションは ME1 に接続され、コンシューマー・アプリケーションは ME3 に接続されています。 メッセージは、ME2 を経由して ME1 から ME3 へルーティングされ、ME3 からコンシュームされます。 このシナリオで関係するのは ME2 と ME3 だけです。ME3 は、ME2 によりホストされるメッセージ・ポイントを表すリモート・メッセージ・ポイントをホストします。図 2 において、ME2 および ME3 は、プロデューサー・アプリケーションが接続されている ME1 上のリモート公開ポイントにより表される公開ポイントをホストします。 サブスクライブ・アプリケーション B は ME3 に接続され、ME2 上のサブスクリプションと ME3 上のリモート・サブスクリプション・ポイントを介して ME1 からメッセージを間接的に受信します。 これらのメッセージング・エンジンは、以下のステップで参照されます。
図 1. リモート・メッセージ・ポイントを使用した point-to-point メッセージのコンシュームこの図は、リモート・メッセージ・ポイントを使用した point-to-point メッセージのコンシュームを示しています。
図 2. リモート・メッセージ・ポイントを使用したパブリッシュ/サブスクライブ・メッセージングこの図は、リモート・メッセージ・ポイントを使用したパブリッシュ/サブスクライブ・メッセージングを示しています。

手順

  1. このタスクを開始する前に、point-to-point メッセージがコンシュームされていない理由の調査またはパブリッシュ/サブスクライブ・メッセージがサブスクリプションに到着しない理由の調査に記載されたステップに従っていた場合は、メッセージ要求のリストが表示されます。 直前のパネル (メッセージ・ポイントのランタイム・プロパティー) で、「Message requests issued」(point-to-point のみ) または「Message requests received」(パブリッシュ/サブスクライブのみ) の値がゼロより大きいことを確認します。 その値がゼロより大きくない場合、要求は実行されていません。 以下のように、コンシューマー・アプリケーションのエラーを確認します。
    • アプリケーションが ME2 に接続されているか確認します。
    • アプリケーションが、メッセージがコンシュームされていない理由を説明できるエラーを出していなかったか確認します。
    • コンシューマーが始動済みであったことを確認します。
    • 以下のように、アプリケーションがメッセージをコンシュームしようとしたことを確認します。
      • アプリケーションが非同期コンシューマーを使用している場合は、非同期コンシューマーが登録済みであったことを確認します。
      • アプリケーションが同期である場合は、コンシューマー が「受信」または「待機して受信」の機能を実行したことを確認します (これは、アプリケーションがメッセージを待つ時間を延長するというアプリケーション変更を必要とすることがあります)。
  2. 発行されたメッセージ要求の数がゼロより大きい場合は、メッセージ・ポイント上のメッセージに対する ME3 から ME2 への要求が実行されています。 「Completed message requests」の値がゼロより大きいことを確認します。 大きくない場合は、2 つのメッセージング・エンジンが相互に通信可能であるか確認します。サービス統合のトラブルシューティング: バス内の 2 つのメッセージング・エンジン間通信の検査を参照してください。
  3. 完了メッセージ要求の数がゼロより大きい場合、要求は ME3 により発行され、ME2 により処理され、さらに ME3 に戻されて完了しています。 これらの要求が調査対象のアプリケーションにより行われていることを確認するため、「完了メッセージ要求数」と、「発行済みメッセージ要求数」または「受信したメッセージ要求数」のいずれかの現行値を記録します。 コンシューマー・アプリケーションを再実行して、両方の値が増加しているか確認します。 値が増加していない場合、アプリケーションは、このメッセージ・ポイントに対して ME3 から ME2 への要求を行っていません (既存の数は、メッセージをコンシュームしていた直前のアプリケーションに関係しています)。 以下のように、コンシューマー・アプリケーションのエラーを確認します。
    • アプリケーションが始動済みであったことを確認します。
    • コンシューム元の宛先の名前が正しいことを確認します。
  4. 値が増加している場合、メッセージ要求は発行され、完了していますが、メッセージが戻されていないか、コンシューマー・アプリケーションにより処理されていません。
    • アプリケーションの選択基準がメッセージ・ポイントで選択可能なメッセージ(複数可)と一致することを確認します。
    • アプリケーション・エラーまたはランタイム・エラーを確認することにより、アプリケーションがメッセージを正しく受信していることを確認します。

次のタスク

問題が解決されない場合は、IBM 技術員に連絡してください。

トピックのタイプを示すアイコン タスク・トピック



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