N インスタンス・トラッキングおよびエラー・ホスピタルの統合
この付録では、インスタンス・トラッキングおよびエラー・ホスピタル・トラッキング機能について説明します。
この付録の内容は次のとおりです。
N.1 Oracle Enterprise Manager Fusion Middleware Controlのフロー・トレースおよびHealthcareコンソール間のメッセージのトラッキング
Oracle Enterprise Manager Fusion Middleware Controlのフロー・トレースとB2B/Healthcareコンソールの間で、メッセージのトラッキングが可能です。この機能は、JMSおよびメモリー内の両統合モードで使用できます。
JMS統合のドメイン全体でインスタンスとエラーのトラッキングを行う場合は、次のプロパティを使用します。
-
b2b.flowTraceEMURL
(またはJMSチャネル・レベルで同じものを指定)このプロパティを使用して、Oracle Enterprise Manager Fusion Middleware Controlが利用し、キューからJMSメッセージを送信する際に使用するドメインに関する情報を指定します。
-
hc.hcReportsURL
Oracle Enterprise Manager Fusion Middleware Controlが実行されているインスタンス上のSOA Suite for healthcare URLを指すように、このプロパティを構成します。このプロパティはb2b.b2bReportsURLのhealthcareプロパティと同じです。
詳細は、『Oracle B2Bの使用』のOracle Enterprise Manager Fusion Middleware制御フロー・トレースとB2B/Healthcareコンソール間でのメッセージの追跡に関する項を参照してください。
N.2 Oracle Enterprise Manager Fusion Middleware Controlのフロー・トレースXMLからのメッセージの状態のトラッキング
Oracle Enterprise Manager Fusion Middleware Controlからフロー・トレースXMLを介して、メッセージの状態の完全なトラッキングが可能です。この機能は、メモリー内統合でのみ使用できます。
通常、コンポジット・インスタンスの状態は、Healthcareのアプリケーション・メッセージに従います。アプリケーション・メッセージが完了とマークされると同時に、対応するコンポジット・インスタンスの状態が完了に更新されます。
既存のエラー通知メカニズム(例外メッセージを例外コンポジット/JMSキューに送信)は、そのまま正常に機能します。可能な場合は常に、通知メッセージは、元のビジネス・メッセージと同じフローIDに関連付けられます。
N.2.1 インバウンド・メッセージ
インバウンド・ドキュメントおよびコンポジットがデプロイされて、ドキュメントを受け取る場合、2種類の失敗が報告されることがあります。
-
ドキュメントが識別される前の失敗: ドキュメント自体が識別されず、コンポジット検出が可能でない場合、エラー報告は行われません。
-
ドキュメントが識別された後の失敗: コンポジットが検出され、コンポジットでフォルト・インスタンスが報告されます。例外コンポジットがデプロイされている場合、例外コンポジット・インスタンスは、報告されたフォルトと同じフローIDの一部です。
N.2.2 バッチでないアウトバウンド・メッセージ
バッチでないアウトバウンド・メッセージには、次の事項が適用されます。
-
メッセージがリモートTPに配信されるまで、メッセージの状態は「実行中」のままです。
-
正常に配信されると、コンポジット・インスタンスの状態は「完了」とマークされます。
-
アウトバウンド処理の際に例外が発生すると、コンポジットの状態は「失敗」とマークされ、リカバリはB2B_RECOVERY_REQUIREDに設定されます。ユーザーは、B2B/Healthcareコンソールでメッセージのリカバリを行う必要があります。リカバリ状態は、B2Bエラーおよびhealthcareエラーの両方で同じです。
-
次の場合は正しい処理が行われないため、コンポジットの状態は誤ったものになります。
-
Healthcareで否定の
Ack
を受信すると、メッセージは「エラー」とマークされます。しかし、コンポジットの状態は「エラー」に更新されません。 -
Ack
タイムアウトは追跡されません。Healthcareメッセージ自体は「エラー」状態ですが、コンポジットは「完了」状態のままです。 -
完了済メッセージの再発行は、エラーを引き起こします。この場合、Healthcareがエラーを示しているにもかかわらず、フロー・インスタンスの状態は「完了」を示します。
-
バッチ処理のエラーを追跡するには、例外コンポジットに基づいて、バックエンドに送信される例外通知を利用する必要があります。バックエンドに配信される例外メッセージは、同じフローIDの一部として処理されます。
-