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

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

始める前に

問題と最も合致する、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 メッセージがコンシュームされていない理由の調査またはパブリッシュ/サブスクライブ・メッセージがサブスクリプションに到着しない理由の調査に記載されたステップに従っていた場合は、メッセージ要求のリストが表示されます。 ME2 のメッセージ・ポイントで選択可能なメッセージに一致するセレクターを持つ要求が、そのリストに含まれていることを確認します。 リスト内にそのような要求がない場合は、コンシューマー・アプリケーションはコンシュームしていません。 コンシューマー・アプリケーションのエラーを確認してください。
    • コンシューマーが始動済みであることを確認します。
    • 以下のように、そのアプリケーションがアクティブにコンシュームを試行中であることを確認します。
      • アプリケーションが非同期コンシューマーを使用している場合は、非同期コンシューマーが登録済みであることを確認します。
      • アプリケーションが同期である場合は、コンシューマーが現在「待機して受信」状態にあることを確認します (これは、アプリケーションがメッセージを待つ時間を延長するというアプリケーション変更を必要とすることがあります)。
  2. 以下のように、アクティブな要求の状態を確認します。
    • 状態が「値」である場合、メッセージは取得され、コンシューマー・アプリケーションに戻されましたが、 そのメッセージのコンシュームはまだ完了していません。コンシューマー・アプリケーションが、すべての受信メッセージを正しく処理しているか確認してください。 例えば、アプリケーションが、メッセージのコンシュームに使用されるトランザクションをコミットしているか確認します。
    • 状態が「拒否」である場合、メッセージが取得され、コンシューマー・アプリケーションに 戻されましたが、その後で何らかの理由でそのメッセージは拒否されました。これは一般的に、コンシューマー・アプリケーションが、コンシューム・オペレーションまたは関連するトランザクションをロールバックしたことを意味します。
    • 状態が「応答済み」である場合、メッセージが要求に応じて戻され、 アプリケーションによってコンシュームされました。メッセージが正しいアプリケーションで受信されたこと、および別のアプリケーションでコンシュームされなかったことを、 確認してください。
    • 状態が「要求」である場合、メッセージ要求は ME2 に送信されました。 次の確認を行って、メッセージが戻されなかった理由を調査してください。
  3. 「Request ID」をメモに記録します。 ME2 で、宛先のメッセージ・ポイントを表示し、ME3 からのメッセージ要求を表示します。 ME3 上の要求 ID と一致する要求があるか確認します。 一致する要求がない場合は、ME2 が要求を認識していません。 2 つのメッセージング・エンジンが相互に通信可能であるか確認します。 サービス統合のトラブルシューティング: バス内の 2 つのメッセージング・エンジン間通信の検査を参照してください。
  4. 以下のように、要求の状態を確認します。
    • 要求の状態が「要求済み」である場合、要求は受信されましたが、適切なメッセージがありません。 要求セレクターがメッセージ・ポイント上の選択可能メッセージと一致しているか確認します。
    • 要求の状態が「確認応答の保留」である場合、要求は一致するメッセージを正常に識別し、それを ME3 へ送信しようとしました。2 つのメッセージング・エンジンが相互に通信可能であるか確認します。 サービス統合のトラブルシューティング: バス内の 2 つのメッセージング・エンジン間通信の検査を参照してください。

次のタスク

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

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



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