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