プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Coherenceの統合
12c (12.2.1.2.0)
E82728-01
目次へ移動
目次

前
次

6 CoherenceログでのECIDの有効化

この章では、Oracle Coherenceで実行コンテキストID (ECID)を使用する方法について説明します。このグローバルに一意のIDをOracleコンポーネント間のリクエストにアタッチできます。ECIDを使用すると、複数のリクエストが並行して処理される場合に同じリクエストに関する複数のログ・メッセージを追跡できます。

Coherence操作が呼び出される前にクライアントがすでにアクティブ化されたECIDを持っている場合にのみ、CoherenceログにECIDが含まれます。ECIDは、別のコンポーネントから渡される場合や、クライアント・コードで取得される場合があります。コンテキストをアクティブ化するには、Coherenceクライアント・コードでoracle.dms.context.ExecutionContextインタフェースのgetおよびactivateメソッドを使用します。ECIDが実行中のスレッドにアタッチされます。deactivateメソッドを使用して、コンテキストを解放します。次に例を示します。

例6-1 Coherenceクライアント・コードでのDMSコンテキストの使用方法

...
// Get the context associated with this thread
ExecutionContext ctx = ExecutionContext.get();
ctx.activate();
...
set additional execution context values (optional)
perform some cache operations
... 
// Release the context
ctx.deactivate();
...

ECIDロギングは、クライアントが実行されているノードでのみ行われます。クライアント・リクエストが他のノードで処理されており、Coherenceによって例外がスローされる場合、リモート・エラーが元のノードに返され、それがCoherenceクライアントで記録されます。ログ・メッセージにはリクエストのECIDが含まれます。リモート・ノードで記録されるメッセージにはECIDは含まれません。

Coherenceログ・メッセージにECIDを含める方法の詳細は、Oracle Coherenceでのアプリケーションの開発のログ・メッセージ形式の変更を参照してください。