Class ExecutionContext

java.lang.Object
com.streamconverter.context.ExecutionContext

public class ExecutionContext extends Object
実行コンテキストを管理するクラス

StreamConverterの実行全体を通じて一意の識別子とコンテキスト情報を提供し、 マルチスレッド環境でのMDC伝播を支援します。

  • Field Details

  • Method Details

    • create

      public static ExecutionContext create()
      新しい実行コンテキストを生成
      Returns:
      新しいExecutionContextインスタンス
    • builder

      カスタム設定でExecutionContextを作成するためのビルダーを取得
      Returns:
      Builderインスタンス
    • getExecutionId

      実行ID(一意識別子)を取得
      Returns:
      実行ID
    • getStartTime

      実行開始時刻を取得
      Returns:
      開始時刻
    • getNextCommandSequence

      public int getNextCommandSequence()
      次のコマンドシーケンス番号を取得(自動インクリメント)
      Returns:
      シーケンス番号
    • getCurrentCommandSequence

      現在のコマンドシーケンス番号を取得
      Returns:
      現在のシーケンス番号
    • getGlobalContext

      グローバルコンテキスト値を取得
      Parameters:
      key - キー
      Returns:
      値(存在しない場合はnull)
    • getAllGlobalContext

      全てのグローバルコンテキストを取得
      Returns:
      読み取り専用のコンテキストマップ
    • getUserContext

      ユーザーコンテキスト値を取得
      Parameters:
      key - キー
      Returns:
      値(存在しない場合はnull)
    • setUserContext

      public void setUserContext(String key, String value)
      ユーザーコンテキスト値を設定
      Parameters:
      key - キー
      value - 値
    • getAllUserContext

      全てのユーザーコンテキストを取得
      Returns:
      ユーザーコンテキストマップ
    • applyToMDC

      public void applyToMDC()
      現在のコンテキストをMDCに設定

      このメソッドを呼び出すことで、実行コンテキストの情報が 現在のスレッドのMDCに設定されます。

    • applyToMDCWithStage

      public void applyToMDCWithStage(String stageName)
      特定のステージでのMDC設定
      Parameters:
      stageName - ステージ名
    • copy

      コンテキストのコピーを作成 ユーザーコンテキストは複製されますが、グローバルコンテキストは共有されます。 コピー時はコマンドシーケンスは0にリセットされます。
      Returns:
      コンテキストのコピー
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object