WebSphere Enterprise Service Bus for z/OS バージョン 6.2.0 オペレーティング・システム: z/OS


失敗イベントの管理

WebSphere® Process Server Recovery サービスは、失敗イベントに関するデータを収集します。その後、Failed Event Manager を使用して、失敗イベントを表示、変更、再サブミット、または削除できます。

WebSphere Process Server Recovery サービスは、Service Component Architecture (SCA) コンポーネント間の失敗操作と、失敗した JMS イベントを管理します。

失敗した SCA イベント

SCA のコンテキストでは、イベントとは、サービス・アプリケーションによって受信された要求または応答です。外部ソース (インバウンドのアプリケーション・アダプターなど) または Web サービスへの外部呼び出しが発生元である可能性もあります。イベントは、操作対象となるビジネス・ロジックへの参照とデータで構成されており、サービス・データ・オブジェクト (ビジネス・オブジェクト) に保管されています。イベントを受信すると、イベントは適切なアプリケーション・ビジネス・ロジックによって処理されます。

単一の実行スレッドは複数のブランチ (またはスレッド) に分岐できます。個々のブランチは、同じセッション・コンテキストによってメインの起動イベントにリンクされます。

これらのいずれかのブランチのビジネス・ロジックが、システム障害、コンポーネント障害、またはコンポーネントが使用不可であったために完全に実行できない場合、イベントは失敗の状態に変わります。複数のブランチに障害が起こった場合、それぞれについて失敗イベントが作成されます。Recovery サービスは、以下のタイプの失敗した SCA イベントを処理します。
  • SCA 操作の非同期呼び出し中に発生したイベント障害
  • ランタイム例外が原因のイベント障害 (すなわち、ビジネス・ロジックで使用されるメソッドで宣言されなかった例外すべて)
Recovery サービスは、同期呼び出しで発生した障害を処理しません。
通常、失敗した SCA イベントには、ソースおよび宛先情報が関連付けられています。ソースおよび宛先は、障害点 (呼び出しが失敗したロケーション) に基づくものであり、対話のタイプとは無関係です。 以下の例について考慮してください。コンポーネント A は非同期にコンポーネント B を呼び出します。要求メッセージは A から B に送信され、応答 (コールバック) メッセージは B から A に送信されます。
  • 最初の要求中に例外が発生した場合、Failed Event Manager にとっては、コンポーネント A がソースでコンポーネント B が宛先になります。
  • 応答中に例外が発生した場合、Failed Event Manager にとっては、コンポーネント B がソースでコンポーネント A が宛先になります。
このことは、すべての非同期呼び出しで当てはまります。

Recovery サービスは、失敗した SCA 非同期対話を、SCA システム・バス (SCA.SYSTEM.cell_name.Bus) 上に作成された失敗イベントの宛先に送信します。 失敗イベントのデータは、失敗イベントのデータベース (デフォルトでは WPCRSDB) に格納され、Failed Event Manager インターフェースを通じて管理目的で使用できます。

失敗した JMS イベント

失敗イベントが生成されて Failed Event Manager に送信されるかどうかは、Java Message Service (JMS) バインディング・タイプおよび構成によって決まります。

JMS バインディング

WebSphere Integration Developer には、オーサリング時に各 JMS バインディングのリカバリーを有効または無効に設定できるリカバリー・バインディング・プロパティーが用意されています。recoveryMode プロパティーは、以下のいずれかの値に設定します。
bindingManaged 失敗したメッセージのリカバリーの管理をバインディングに許可します。
unmanaged 失敗したメッセージのトランスポート固有のリカバリーに依存します。
JMS バインディングのリカバリーは、デフォルトで有効になっています。これが有効になっている状態では、以下の場合に JMS の失敗イベントが作成されます。
  • 関数セレクターは失敗する
  • 障害セレクターは失敗する
  • 障害セレクターが RuntimeException 障害タイプを返す
  • 障害ハンドラーは失敗する
  • データ・バインディングまたはデータ・ハンドラーが JMS で 1 回再試行した後に失敗する
さらに、JMS での 1 回の再試行後に JMS バインディング・ターゲット・コンポーネントで ServiceRuntimeException 例外が throw されると、Service Component Architecture (SCA) 失敗イベントが作成されます。
これらの失敗は、インバウンドまたはアウトバウンド通信中に発生する可能性があります。アウトバウンド通信中は、JMSImport が要求メッセージを送信して、応答メッセージを受信します。サービス応答の処理中に JMS インポート・バインディングが問題を検出すると、失敗イベントが生成されます。インバウンド通信中のイベントの順序は、以下のとおりです。
  1. JMSExport が要求メッセージを受信する。
  2. JMSExport が SCA コンポーネントを呼び出す。
  3. SCA コンポーネントが JMSExport に応答を返す。
  4. JMSExport が応答メッセージを送信する。
サービス要求の処理中に JMS エクスポート・バインディングが問題を検出すると、失敗イベントが生成されます。

Recovery サービスは、JMS メッセージを収集して共通データベースの Recovery テーブルに保管します。さらに、失敗イベントのモジュール名、コンポーネント名、操作名、失敗した時刻、例外の詳細、および JMS プロパティーも収集して保管します。Failed Event Manager を使用して JMS の失敗イベントを管理することも、カスタム・プログラムを使用することもできます。

リカバリーを無効にするには、WebSphere Integration Developer で recoveryMode プロパティーを unmanaged に設定して、明示的に無効にする必要があります。
注: recoveryMode プロパティーがない場合 (以前のアプリケーション・バージョンの場合)、リカバリー機能は有効と認識されます。
リカバリーが無効になっている場合、失敗したメッセージは元の宛先にロールバックされて、再試行されます。システムは失敗イベントを作成しません。

WebSphere MQ JMS バインディングおよび汎用 JMS バインディング

WebSphere MQ JMS バインディングおよび汎用 JMS バインディングは、JMS バインディングとは異なる方法で失敗を処理します。要求および応答処理中に問題が発生しても、JMS の失敗イベントは生成されません。代わりに、以下の 2 つの条件に適合する場合には、SCA の失敗イベントが生成されます。
  • 基礎となるメッセージング・システムが、失敗したメッセージを自動的に再配信するように構成されている。
  • 障害が発生した場所が、エクスポート・バインディング自体ではなく、エクスポート・バインディングのターゲット SCA コンポーネントである。
両方の条件に適合する場合には、失敗した SCA イベントがリカバリー・システムによって生成されます。このイベントは、Failed Event Manager を使用して管理できます。

それ以外の場合は、失敗したメッセージは元の宛先にロールバックされ、その宛先でのメッセージング・システムの構成に従って処理されます。失敗イベントは作成されません。

失敗イベントの管理方法

管理者は、Failed Event Manager を使用して、失敗イベントの参照と管理を行います。失敗イベントを管理する一般的なタスクは、以下のとおりです。
  • すべての失敗イベントのブラウズ
  • 特定の基準で失敗イベントの検索
  • 失敗イベントのデータの編集
  • 失敗イベントの再サブミット
  • 失敗イベントの削除

Failed Event Manager にアクセスするには、「統合アプリケーション」 > 「Failed Event Manager」をクリックします。


concept 概念トピック

ご利用条件 | フィードバック


タイムスタンプ・アイコン 最終更新: 2010/07/05


http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic//com.ibm.websphere.wesb620.zseries.doc/doc/recovery/cadm_failedoverview.html
Copyright IBM Corporation 2005, 2010. All Rights Reserved.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています (http://www.eclipse.org)。