Oracle Enterprise Service Busでの処理中に発生したエラーは、Oracle ESB Controlでは、アイコンや色の変化などの視覚的な方法で表現されます。図12-9に示すように、赤色のアイコンはエラー状態を意味します。
Oracle ESB Controlでの視覚的な方法に加え、電子メール、FAXまたは電話によるエラーの発生通知を設定することもできます。第12.3.1項「システム定義の表示方法と変更方法」を参照してください。
Oracle Enterprise Service Busでのエラー処理は、トランザクション処理で発生する可能性があるいくつかのタイプのエラーに関連しています。
拒否: ユーザーによる修正が必要なメッセージの検証エラー
再試行: 通常は比較的短時間で解決するが、メッセージのルーティングに影響を与える一時的なサービスの損失
致命的: 使用不可または削除されたサービスまたはシステム、メモリー不足の状態、またはシステム管理者による注意が必要な重大なエラーの原因となるその他の深刻な問題
エラー処理では、ルーティング・サービスに指定した実行が非同期なのか同期なのかによって処理方法が異なります。一般的に、同期実行で発生したエラーは再試行できません。一方、非同期実行で発生したエラーは再送信できます。
同期実行の場合は、トランザクションがロールバックされ、エラー通知はその処理を開始したアダプタに戻されます。エラーおよび再送信プロセスを処理するには、コール・アダプタが必要です。第12.11.1項「アダプタのエラー処理の概要」を参照してください。
エラー管理の説明も含めたアダプタの詳細は、『Oracle Application Server Adapter概要』を参照してください。
非同期実行の場合、ユーザーは、エラー状態の解決後にトランザクションを再送信できます。第12.11.2項「エラー発生時のメッセージの再送信方法」を参照してください。
Oracle Enterprise Service Busでのエラー処理の詳細は、『Oracle Enterprise Service Bus開発者ガイド』の「エラー処理」を参照してください。
アダプタでは、アダプタのデフォルトのエラー処理プロセスを使用して例外およびフォルトを処理します。
デフォルトでは、アダプタは、1つのエラー状態について、メッセージを5秒間隔で3回再試行します。再試行の回数と間隔は、アダプタ・サービスのエンドポイント・プロパティで指定できます。エンドポイント・プロパティについては、第6.6項「アダプタ・サービスまたはSOAPサービスのエンドポイント・プロパティの追加」を参照してください。
インバウンド・アダプタが、ある特定の期間に連続してルーティング・サービスの起動に失敗した場合は、そのインバウンド・アダプタ自体に破損というマークが付けられて無効となります。Oracle ESB Controlでは、このイベント・ソースが使用不可の状態であることを視覚的に表すために、特別なアイコンが表示されます。このアダプタ・サービスは有効にできます。
インバウンド・アダプタが起動する次のサービスが、削除または無効のために存在しない場合、インバウンド・アダプタ・プロセッサはそれ自体を無効にして破損のマークを付けます。
サブスクリプションがある特定の期間に連続して失敗した場合、サービスは、そのサブスクリプションに破損状態のマークを付けるようにリポジトリに通知します。ディスパッチャは、この破損のマークが付けられた後のサブスクリプションをディスパッチしません。
メッセージの処理中に発生したエラーは、図12-9のように、Oracle ESB Controlのルーティング・サービスの横にある赤色のアイコンで示されます。
状況によっては、メッセージ・インスタンスは再送信できます。ルーティング・ルールが非同期実行に設定されている場合は、エラー状態を修正した後で、メッセージ・インスタンスを再送信できます。
図12-11に示すように、「エラー」タブの「メッセージ」列の下にある「エラーの詳細」アイコンをクリックすると、エラー・メッセージ、トレース、ペイロードの詳細を表示できます。
図12-10に、「エラーの詳細」ダイアログの例を示します。
エラーの詳細を確認してエラー状態を修正した後は、このメッセージを起動サービスに再送信できます。
エラー発生時にメッセージを再送信する手順は、次のとおりです。
メッセージ・インスタンス処理を表示するには、Oracle ESB Controlの上部の「インスタンス」アイコンをクリックします。
「インスタンス」ビューの「インスタンス」パネルで、エラーが発生したメッセージ・インスタンスをクリックします。
図12-9に示すような「トラッキング」タブが表示されます。
「エラー」タブをクリックして、エラー情報を表示します。
「メッセージ」列の下にある「エラーの詳細」アイコンをクリックし、「エラーの詳細」ダイアログに、エラー状態に関するエラー・メッセージ、トレースおよびペイロードの詳細を表示します。
エラー・メッセージの詳細を確認した後は、「OK」をクリックして「エラーの詳細」ダイアログを閉じます。
「エラー」タブで、エラー状態を修正して「再送信」をクリックします。
たとえば、メッセージ・ペイロードが不適切な場合は、「再送信ペイロード」ウィンドウでそのメッセージ・ペイロードを編集し、「再送信」をクリックします。
図12-11に、再送信されたメッセージ・インスタンスの例を示します。