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でのアプリケーションの開発のログ・メッセージ形式の変更を参照してください。