ヘッダーをスキップ
Oracle SOA Suite開発者ガイド
10g(10.1.3.1.0)
B31839-01
  目次へ
目次
索引へ
索引

前へ
前へ
 
次へ
次へ
 

12.11 メッセージ・インスタンス処理でのエラー処理

Oracle Enterprise Service Busでの処理中に発生したエラーは、Oracle ESB Controlでは、アイコンや色の変化などの視覚的な方法で表現されます。図12-9に示すように、赤色のアイコンはエラー状態を意味します。

図12-9 「インスタンス」ビュー – エラーのある「トラッキング」タブ

図12-9の説明は次にあります。
「図12-9 「インスタンス」ビュー – エラーのある「トラッキング」タブ」の説明

Oracle ESB Controlでの視覚的な方法に加え、電子メール、FAXまたは電話によるエラーの発生通知を設定することもできます。第12.3.1項「システム定義の表示方法と変更方法」を参照してください。

Oracle Enterprise Service Busでのエラー処理は、トランザクション処理で発生する可能性があるいくつかのタイプのエラーに関連しています。

エラー処理では、ルーティング・サービスに指定した実行が非同期なのか同期なのかによって処理方法が異なります。一般的に、同期実行で発生したエラーは再試行できません。一方、非同期実行で発生したエラーは再送信できます。

Oracle Enterprise Service Busでのエラー処理の詳細は、『Oracle Enterprise Service Bus開発者ガイド』の「エラー処理」を参照してください。

12.11.1 アダプタのエラー処理の概要

アダプタでは、アダプタのデフォルトのエラー処理プロセスを使用して例外およびフォルトを処理します。

  • デフォルトでは、アダプタは、1つのエラー状態について、メッセージを5秒間隔で3回再試行します。再試行の回数と間隔は、アダプタ・サービスのエンドポイント・プロパティで指定できます。エンドポイント・プロパティについては、第6.6項「アダプタ・サービスまたはSOAPサービスのエンドポイント・プロパティの追加」を参照してください。

  • インバウンド・アダプタが、ある特定の期間に連続してルーティング・サービスの起動に失敗した場合は、そのインバウンド・アダプタ自体に破損というマークが付けられて無効となります。Oracle ESB Controlでは、このイベント・ソースが使用不可の状態であることを視覚的に表すために、特別なアイコンが表示されます。このアダプタ・サービスは有効にできます。

  • インバウンド・アダプタが起動する次のサービスが、削除または無効のために存在しない場合、インバウンド・アダプタ・プロセッサはそれ自体を無効にして破損のマークを付けます。

  • サブスクリプションがある特定の期間に連続して失敗した場合、サービスは、そのサブスクリプションに破損状態のマークを付けるようにリポジトリに通知します。ディスパッチャは、この破損のマークが付けられた後のサブスクリプションをディスパッチしません。

12.11.2 エラー発生時のメッセージの再送信方法

メッセージの処理中に発生したエラーは、図12-9のように、Oracle ESB Controlのルーティング・サービスの横にある赤色のアイコンで示されます。

状況によっては、メッセージ・インスタンスは再送信できます。ルーティング・ルールが非同期実行に設定されている場合は、エラー状態を修正した後で、メッセージ・インスタンスを再送信できます。

図12-11に示すように、「エラー」タブの「メッセージ」列の下にある「エラーの詳細」アイコンをクリックすると、エラー・メッセージ、トレース、ペイロードの詳細を表示できます。

図12-10に、「エラーの詳細」ダイアログの例を示します。

図12-10 「エラーの詳細」ダイアログ

図12-10の説明は次にあります。
「図12-10 「エラーの詳細」ダイアログ」の説明

エラーの詳細を確認してエラー状態を修正した後は、このメッセージを起動サービスに再送信できます。

エラー発生時にメッセージを再送信する手順は、次のとおりです。

  1. メッセージ・インスタンス処理を表示するには、Oracle ESB Controlの上部の「インスタンス」アイコンをクリックします。

  2. 「インスタンス」ビューの「インスタンス」パネルで、エラーが発生したメッセージ・インスタンスをクリックします。

    図12-9に示すような「トラッキング」タブが表示されます。

  3. 「エラー」タブをクリックして、エラー情報を表示します。

  4. 「メッセージ」列の下にある「エラーの詳細」アイコンをクリックし、「エラーの詳細」ダイアログに、エラー状態に関するエラー・メッセージ、トレースおよびペイロードの詳細を表示します。

  5. エラー・メッセージの詳細を確認した後は、「OK」をクリックして「エラーの詳細」ダイアログを閉じます。

  6. 「エラー」タブで、エラー状態を修正して「再送信」をクリックします。

    たとえば、メッセージ・ペイロードが不適切な場合は、「再送信ペイロード」ウィンドウでそのメッセージ・ペイロードを編集し、「再送信」をクリックします。

図12-11に、再送信されたメッセージ・インスタンスの例を示します。

図12-11 「インスタンス」ビュー - 「エラー」タブ

図12-11の説明は次にあります。
「図12-11 「インスタンス」ビュー - 「エラー」タブ」の説明

12.11.3 エラー発生によるメッセージ再送信時の処理内容

メッセージを再送信すると、ESBでは再度メッセージの処理が開始されます。エラー状態が修正されている場合、メッセージ処理は正常に行われます。