Package com.streamconverter.context
Class ExecutionContext
java.lang.Object
com.streamconverter.context.ExecutionContext
実行コンテキストを管理するクラス
StreamConverterの実行全体を通じて一意の識別子とコンテキスト情報を提供し、 マルチスレッド環境でのMDC伝播を支援します。
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classExecutionContext作成用のBuilderクラス -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionvoid現在のコンテキストをMDCに設定voidapplyToMDCWithStage(String stageName) 特定のステージでのMDC設定static ExecutionContext.Builderbuilder()カスタム設定でExecutionContextを作成するためのビルダーを取得copy()コンテキストのコピーを作成 ユーザーコンテキストは複製されますが、グローバルコンテキストは共有されます。 コピー時はコマンドシーケンスは0にリセットされます。static ExecutionContextcreate()新しい実行コンテキストを生成boolean全てのグローバルコンテキストを取得全ての共有コンテキストを取得全てのユーザーコンテキストを取得int現在のコマンドシーケンス番号を取得実行ID(一意識別子)を取得getGlobalContext(String key) グローバルコンテキスト値を取得int次のコマンドシーケンス番号を取得(自動インクリメント)getSharedContext(String key) 共有コンテキスト値を取得実行開始時刻を取得getUserContext(String key) ユーザーコンテキスト値を取得inthashCode()voidsetSharedContext(String key, String value) 共有コンテキスト値を設定voidsetUserContext(String key, String value) ユーザーコンテキスト値を設定toString()
-
Field Details
-
EXECUTION_ID_KEY
実行ID用のMDCキー- See Also:
-
START_TIME_KEY
開始時刻用のMDCキー- See Also:
-
COMMAND_SEQUENCE_KEY
コマンドシーケンス用のMDCキー- See Also:
-
THREAD_NAME_KEY
スレッド名用のMDCキー- See Also:
-
STAGE_KEY
ステージ用のMDCキー- See Also:
-
-
Method Details
-
create
新しい実行コンテキストを生成- Returns:
- 新しいExecutionContextインスタンス
-
builder
カスタム設定でExecutionContextを作成するためのビルダーを取得- Returns:
- Builderインスタンス
-
getExecutionId
実行ID(一意識別子)を取得- Returns:
- 実行ID
-
getStartTime
実行開始時刻を取得- Returns:
- 開始時刻
-
getNextCommandSequence
次のコマンドシーケンス番号を取得(自動インクリメント)- Returns:
- シーケンス番号
-
getCurrentCommandSequence
現在のコマンドシーケンス番号を取得- Returns:
- 現在のシーケンス番号
-
getGlobalContext
グローバルコンテキスト値を取得- Parameters:
key- キー- Returns:
- 値(存在しない場合はnull)
-
getAllGlobalContext
全てのグローバルコンテキストを取得- Returns:
- 読み取り専用のコンテキストマップ
-
getUserContext
ユーザーコンテキスト値を取得- Parameters:
key- キー- Returns:
- 値(存在しない場合はnull)
-
setUserContext
ユーザーコンテキスト値を設定- Parameters:
key- キーvalue- 値
-
getAllUserContext
全てのユーザーコンテキストを取得- Returns:
- ユーザーコンテキストマップ
-
applyToMDC
現在のコンテキストをMDCに設定このメソッドを呼び出すことで、実行コンテキストの情報が 現在のスレッドのMDCに設定されます。 共有コンテキストも含めて全てのコンテキスト情報がMDCに反映されます。
共有コンテキストはDirty Flag最適化により、変更があった場合のみMDCに同期されます。 これにより、頻繁なapplyToMDC()呼び出しでもパフォーマンスが維持されます。
-
applyToMDCWithStage
特定のステージでのMDC設定- Parameters:
stageName- ステージ名
-
copy
コンテキストのコピーを作成 ユーザーコンテキストは複製されますが、グローバルコンテキストは共有されます。 コピー時はコマンドシーケンスは0にリセットされます。- Returns:
- コンテキストのコピー
-
toString
-
equals
-
hashCode
-