Class ExecutionContextHolder

java.lang.Object
com.streamconverter.context.ExecutionContextHolder

public class ExecutionContextHolder extends Object
ThreadLocalでExecutionContextを保持するホルダークラス

このクラスは、現在のスレッドに関連付けられたExecutionContextを管理します。 ログ出力時にLogback TurboFilterがこのホルダーから値を取得してMDCに設定します。

使用例:


 ExecutionContext context = ExecutionContext.create();
 ExecutionContextHolder.set(context);
 try {
   // ログ出力時に自動的にMDCに値が設定される
   log.info("Processing...");
 } finally {
   ExecutionContextHolder.clear();
 }
 

スレッドセーフ性: ThreadLocalを使用しているため、スレッドごとに独立したコンテキストが管理されます。

  • Method Details

    • set

      public static void set(ExecutionContext context)
      現在のスレッドにExecutionContextを設定します
      Parameters:
      context - 設定するExecutionContext
    • get

      public static ExecutionContext get()
      現在のスレッドのExecutionContextを取得します
      Returns:
      現在のスレッドのExecutionContext、設定されていない場合はnull
    • clear

      public static void clear()
      現在のスレッドのExecutionContextをクリアします

      メモリリークを防ぐため、スレッドの処理完了時に必ず呼び出してください。