フォルト・ポリシー
フォルト・ポリシーは、エラー状態および対応するアクションを定義したものです。フォルト・ポリシーは、「fault-policies.xmlのスキーマ定義ファイル」に示すXMLスキーマに基づいて作成したfault-policies.xml
ファイルで定義します。
順次ルーティング・ルールのフォルト・ポリシーは、次に示すようにパラレルのルーティング・ルールの場合とは異なる方法で処理されます。
-
順次ルーティング・ルールがシングル・スレッド処理であるため、エラー処理に対して3つのアクション(中断、再スロー、およびJava)のみがサポートされており、指定されたアクションがコール元のスレッドでただちに実行されます。
-
メディエータ・メッセージは、順次ルーティングで保持されません。
-
非同期および一方向メディエータ・コンポーネントは、BPELビジネス・プロセスなど他のSOA Suiteコンポーネントからスローされるシステム・フォルトを処理できません。
使用可能なエラー処理アクションの詳細は、「アクション」を参照してください。
ノート:
次の場合は、フォルト・ポリシーはサポートされません。
-
コールバックの実行失敗
-
フォルト・ハンドラ・アクションの失敗
-
再シーケンサの失敗
フォルト・ポリシー・ファイルのサンプルを次に示します。
<?xml version="1.0" encoding="UTF-8"?> <faultPolicies> <faultPolicy version="2.0.1" id="CRM_ServiceFaults"> <Conditions> <faultName xmlns:medns="http://schemas.oracle.com/mediator/faults" name="medns:mediatorFault"> <condition> <test>contains($fault.mediatorErrorCode, "TYPE_FATAL_MESH")</test> <action ref="ora-retry"/> </condition> </faultName> </Conditions> <Actions> <Action id="ora-retry"> <retry> <retryCount>3</retryCount> <retryInterval>2</retryInterval> <exponentialBackoff/> <retryFailureAction ref="ora-java"/> <retrySuccessAction ref="ora-terminate"/> </retry> </Action> </Actions> </faultPolicy> </faultPolicies>
次の各項では、フォルト・ポリシーの2つのコンポーネント(条件とアクション)について説明します。