[AIX Solaris HP-UX Linux Windows][IBM i]

非 ASF リスナー・ポートを使用した厳密なメッセージの順序付け

厳密なメッセージ順序付けは、メッセージ駆動型 Bean アプリケーションを IBM MQ メッセージング・プロバイダーにデプロイするときに、非順次に着信したメッセージを処理するための特別な機能がアプリケーションにコーディングされていない場合に行われます。

WebSphere® Application Server バージョン 7 以降では、リスナー・ポートは安定化されています。詳しくは、安定化されたフィーチャーに関する項目を参照してください。リスナー・ポートを使用する WebSphere MQ メッセージ駆動型 Bean のデプロイメント構成を、アクティベーション・スペックを使用する構成に移行する準備を行う必要があります。[AIX Solaris HP-UX Linux Windows][IBM i]非 ASF モードのアクティベーション・スペックの構成方法について詳しくは 『非 ASF モードのアクティベーション・スペックの構成』を参照してください。 ただし、アプリケーションを WebSphere Application Server バージョン 7 より前のアプリケーション・サーバーで実行する必要がないと確認するまでは、このマイグレーションを開始しないでください。例えば、1 つのアプリケーション・サーバー・クラスターにバージョン 6.1 のメンバーとそれより新しいバージョンのメンバーがある場合は、クラスター内のすべてのアプリケーション・サーバーをその新しいバージョンにマイグレーションするまでは、そのクラスター上のアプリケーションを、アクティベーション・スペックを使用するようにマイグレーションしないでください。

このシナリオでは、以下のことを前提としています。
  • メッセージ駆動型 Bean (MDB) アプリケーションはトランザクション・タイプである。
  • IBM MQ キューのバックアウトしきい値 (BOTHRESH) が 0 に設定されている。

順序付けられた配信のための WebSphere Application Server の構成

  • 非 ASF モードは、NON.ASF.RECEIVE.TIMEOUT IBM MQ メッセージ・リスナー・サービスのカスタム・プロパティーにゼロ以外のタイムアウト値を指定することによってアクティブ化する必要があります。
  • リスナー・ポートの「最大セッション (Maximum sessions)」設定は、1 に設定する必要があります。
  • 最大セッション (Maximum sessions)」が 1 に設定された非 ASF リスナー・ポートには、メッセージを検索するアプリケーション・サーバー内部で実行する単一スレッドがあります。 メッセージは、着信するとそのスレッドによってただちに MDB に配信されます。
  • キュー・マネージャーは、このスレッドをメッセージを検索する単一アプリケーションと見なすので、メッセージは順次処理されます。

トランザクション・リカバリーの間にこのデプロイメントで非順次にメッセージを配信可能

このシナリオは、特定のイベント・セットが特定の順序で起きることを必要とするので、ほとんど発生しません。 しかし、アプリケーションの操作にとって順序付けられたメッセージ配信が重要である場合には、考慮する必要があります。

  • 以下のいずれかのコンポーネントが障害からリカバリーする間に、このデプロイメント・オプションで非順次メッセージ配信が起きる可能性があります。
    • MDB をホストしているアプリケーション・サーバー
    • IBM MQ キュー・マネージャー
    • アプリケーション・サーバーとキュー・マネージャーを接続しているネットワーク
  • 上記のコンポーネントのいずれかで、MDB トランザクションの 2 フェーズ・コミットの途中で障害が発生した場合、アプリケーション・サーバーのトランザクション・マネージャーは、コンポーネントが再び使用可能になったときに、キュー・マネージャーへの接続を再確立し、トランザクションを解決します。
  • このリカバリー・プロセスは非同期であり、トランザクション・リカバリー・プロセスが完了する前に MDB への新規メッセージの配信が開始することがあります。 トランザクションのリカバリーを行った結果、トランザクションのロールバックが行われる場合は、おそらく新規メッセージの送信が完了した後に、 メッセージが WebSphere MQ キューに返され、アプリケーションに再配信されます。

クラスター化されたデプロイメントに関する考慮事項

非 ASF リスナー・ポートを使用している場合、キューのデフォルト共有 (DEFSOPT) オプションを「排他的 (exclusive)」に設定することができます。 アプリケーションのクラスター化されたデプロイメントを実行中にこのオプションを選択した場合、1 つを除いてすべてのクラスター・メンバーが、リスナー・ポートの始動に失敗します。 失敗したクラスター・メンバーは WMSG0057E メッセージに 2042MORC_OBJECT_IN_USE 例外を生成します。

この例外が発生した場合、WebSphere Application Server で以下のメッセージ・リスナー・サービス・カスタム・プロパティーを構成して、アプリケーションの自動フェイルオーバーを確立することができます。

MAX.RECOVERY.RETRIES
クラスター内の全サーバーのメッセージ・リスナー・サービスで、高値 MAX.RECOVERY.RETRIES を構成します。 MAX.RECOVERY.RETRIES の最大値は 2147483647 です。
MAX.RECOVERY.RETRIES メッセージ・リスナー・サービス・カスタム・プロパティーは、適切な MAX.RECOVERY.INTERVAL メッセージ・リスナー・サービス・カスタム・プロパティーと一緒に指定する必要があります。 リスナー・ポートが手動で停止および再始動せずに再試行できる最大時間は、MAX.RECOVERY.INTERVAL に指定された値の 2147483647 倍です。 この構成では、各クラスター・メンバーは、アクティブなクラスター・メンバーが停止し、キュー・マネージャーから単一の排他的コンシューマーとして接続を許可されるまで、継続的にリスナー・ポートの始動を試みます。

トピックのタイプを示すアイコン 概念トピック



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