メッセージ・エンドポイントによるメッセージの管理

メッセージ・エンドポイントとしてデプロイされるメッセージ駆動型 Bean (MDB) のメッセージ配信を管理します。メッセージ・エンドポイント は、Java™ Platform, Enterprise Edition (Java EE) Connector Architecture (JCA) バージョン 1.5 に準拠するインバウンド・リソース・アダプターの Managed Bean (MBean) です。

このタスクについて

アプリケーション・サーバーは、メッセージ・エンドポイント MBean を提供し、宛先である特定のエンドポイントでリスナーの役割を果たしているメッセージ駆動型 Bean へのメッセージの配信の管理を支援します。また、これらのメッセージ駆動型 Bean によって利用されるエンタープライズ情報システム (EIS) リソースの管理も 支援します。メッセージ・エンドポイントとしてデプロイされているメッセージ駆動型 Bean は、リスナー・ポートに対して構成されているメッセージ駆動型 Bean と同じ ものではありません。メッセージ・エンドポイントとして使用されているメッセージ駆動型 Bean は、JCA バージョン 1.5 のリソース・アダプター構成内に定義されている ActivationSpecification を使用してデプロイする必要があります。
メッセージ・ エンドポイントの MBean を使用すると、アプリケーション内の特定のエンドポイントを アクティブおよび非アクティブにして、正常な EIS リソースと対話している listen 中の メッセージ駆動型 Bean のみにメッセージが配信されるようにします。EIS リソースが予想とは異なる動作を行う場合に、この機能によって JMS アプリケーションのパフォーマンスを最適化できます。 listen 中のメッセージ駆動型 Bean が正常でないリソースに対して操作を呼び出した場合、通常はエンドポイントへのメッセージ配信が失敗します。例えば、JCA バージョン 1.5 に準拠するインバウンド・リソース・アダプターであるメッセージング・ プロバイダーの場合は、その基礎のメッセージ駆動型 Bean が、応答しないデータベース・サーバーに対してトランザクションのコミットを試行したときに、 メッセージ・エンドポイントへのメッセージの配信に失敗する可能性があります。
注: ビジネス・プロセスを他のエンタープライズ Bean に 委任するようにメッセージ駆動型 Bean を設計します。メッセージ駆動型 Bean の EIS リソースには直接アクセス しないで、委任 Bean を介して間接的にアクセスします。
メッセージ・ エンドポイントの MBeans は、リソースにアクセスするメッセージ・エンドポイントを提供する アプリケーションに固有の 2 つの問題を緩和します。
  • 失敗したメッセージは、listen 中のエンドポイントに再度配信する、または失敗した メッセージを処理する代替宛先にリダイレクトするなど、追加処理が必要です。また、 リソース・アダプターが回数を制限されずに、メッセージをエンドポイントに再配信する場合も あります。
  • メッセージのリダイレクトでは、失敗したメッセージの処理専門の宛先 (キュー とリスナー) の実装、およびメッセージの失敗を検出するロジックを必要とします。 メッセージのリダイレクトは複雑であるため、エラーが発生しやすく、 しかも計算コストが高くなる可能性があります。

特定のメッセージ・エンドポイントを無効化 (一時停止) および再有効化 (再開) する機能を使うと、管理者がエンドポイントを無効化して、失敗するメッセージの処理を行わせないようにできるため、これらの問題が緩和されます。 メッセージ・エンドポイントが非アクティブにされたときに、問題を起こしているリソースを 修復して、エンドポイントを再度アクティブにし、メッセージ要求の処理を再開できます。 トラブルシューティングの間、エンドポイントをホスティングしているリソース・アダプターまたは アプリケーションには影響を与えません。

WebSphere® MQ に接続している場合は、アクティベーション・スペック内の WAS_EndpointInitialState カスタム・プロパティーを使用して、メッセージ・エンドポイントを非活動状態で始動することもできます。このプロパティーに Inactive を設定すると、メッセージ駆動型 Bean は宛先と接続しますが、メッセージの受信を開始しません。 この設定を使用して、メッセージ処理の開始前に、特定タスクの完了、サービスの開始、 または検査の実行が必要であることが分かっているときに、メッセージ・エンドポイントを自動的に非アクティブにします。 操作中に一時停止したメッセージ・エンドポイントを再度アクティブにする場合と同じ方法で、 メッセージ・エンドポイントをアクティブにします。

手順

  1. 管理コンソールを使用して、メッセージ・エンドポイントをホスティングしている アプリケーションの「メッセージ・エンドポイント (Message Endpoint)」パネルに移動 します。
    1. 「アプリケーション」 > 「アプリケーション・タイプ」 > 「Websphere エンタープライズ・アプリケーション」 > application_nameを選択します。
    2. 「ランタイム」パネルを選択します。
    3. 「メッセージ・エンドポイント (Message Endpoints)」を選択します。 パネルには、アプリケーションに よってホストされているメッセージ・エンドポイントのセットがリストされます。
  2. オプション: メッセージ・エンドポイントをメッセージの処理から一時的に使用できないようにして 問題のトラブルシューティングを行います。
    1. 該当するメッセージ・エンドポイントを選択し、「一時停止」をクリックすることにより、 そのエンドポイントを非アクティブにします。
    2. そのメッセージ・エンドポイントが非アクティブになっている場合は、 配信失敗の根本的な原因を診断して修復します。
    3. 該当するメッセージ・エンドポイントを選択し、「再開」をクリックすることにより、 そのエンドポイントを再度アクティブにします。
  3. オプション: 非アクティブ状態で開始したメッセージ・エンドポイントをアクティブにします。 該当のエンドポイントを選択して「再開」をクリックします。

タスクの結果

メッセージ・エンドポイント MBean を使用してメッセージ・エンドポイントを 非アクティブにする (一時停止する) ときに行われる動作は、メッセージ・エンドポイントを管理する リソース・アダプター、メッセージ・エンドポイントの構成、およびアプリケーション・ サーバーのトポロジーなど、さまざまな要因によって異なります。具体的には、次のような例が考えられます。
  • 非永続トピックでの MDB リスニング (構成に依存): メッセージ・エンドポイント の非アクティブ化 (一時停止) によって暗黙に示される動作は、多くの場合、実行している機能に 依存します。例えば、サービス統合バスで非永続トピックを listen するようにメッセージ駆動型 Bean を構成した場合にメッセージ・エンドポイントを非アクティブにすると、アプリケーションの停止と類似した状態になり、その結果サブスクリプションがクローズします。 つまり、メッセージ・エンドポイントが一時停止している間に 公開されるメッセージは、メッセージ駆動型 Bean によって受信されないということです。
  • クラスター化されたメッセージ駆動型 Bean (トポロジーに依存): このシナリオ では、メッセージ駆動型 Bean のアプリケーションは、サーバーのクラスターにデプロイ されています。指定されたメッセージ・エンドポイント MBean が制御できるのは、そのクラスターのいずれかのサーバーにおける MDB の動作のみなので、メッセージの処理が停止されるサーバーは 1 つ だけになります。メッセージング構成および使用中の固有のリソース・アダプターに応じて、 一時停止されているメッセージ・エンドポイントによって消費されているメッセージは、 クラスターのアクティブ・メッセージ・エンドポイントによって消費されることもあれば、一時停止 されているメッセージ・エンドポイントが再開するまで、消費されないままでいることもあります。
  • クラスター化されたメッセージ駆動型 Bean、非クラスター化キュー: このシナリオでは、サーバーのクラスターに同じメッセージ駆動型 Bean がデプロイされています。 これは、異なるメッセージ駆動型 Bean に同じメッセージ選択基準がある場合に似ています。 ただし、メッセージ駆動型 Bean が論理的に同じメッセージ駆動型 Bean である場合を 除きます。エンドポイントを一時停止しても、メッセージの受信を 停止するサーバーは 1 つだけで、その他のメッセージ駆動型 Bean はすべてのメッセージを受信します。孤立する メッセージはありません。 すべてのエンドポイントを停止するには、クラスターの 各サーバーにローカルのメッセージ・エンドポイントを停止するよう指示する必要があります。
  • クラスター化されたメッセージ駆動型 Bean、クラスター化されたキュー: このシナリオでは、各メッセージ駆動型 Bean は、キューの異なる区画からメッセージを プルしています。WebSphere MQ およびサービス統合バスを経由するメッセージングの機能は、似ているようで実際には異なります。 WebSphere MQ を使用している場合にエンドポイントを 1 つ停止すると、メッセージ駆動型 Bean のその他のインスタンスでメッセージを受信できなくなります。サービス統合バスでは、一時停止されたエンドポイント からのメッセージは、その他のメッセージ駆動型 Bean にリダイレクトされます。

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



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