Package nablarch.core
Class ThreadContext
java.lang.Object
nablarch.core.ThreadContext
スレッド内で共有すべきオブジェクトを保持するクラス。
本クラスで保持する値は、子スレッドが起動された場合、
暗黙的に全ての情報を子スレッドに引き継ぐ仕様となっている。
このため、子スレッドでは個別に値を設定することなく、親スレッドで設定した値を使用することが出来る。
また、子スレッドで個別に値を変更することも出来るが、ThreadLocalに格納したオブジェクトは各スレッドで共有され、
別スレッドの動作に影響を与える危険があるので、イミュータブルな値とスレッドセーフな値のみを格納すること。
- Author:
- Koichi Asano
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic voidclear()スレッドコンテキストの内容をクリアする。static intスレッドコンテキストから並行実行スレッド数を取得する。static Stringスレッドローカルから実行時IDを取得する。static Stringスレッドローカルから内部リクエストIDを取得する。static Localeスレッドローカルから言語を取得する。static Objectスレッドコンテキストからオブジェクトを取得する。static StringスレッドローカルからリクエストIDを取得する。static TimeZoneスレッドローカルからタイムゾーンを取得する。static StringスレッドローカルからユーザIDを取得する。static voidsetConcurrentNumber(int value) スレッドコンテキストに並行実行スレッド数を設定する。static voidsetExecutionId(String executionId) スレッドローカルに実行時IDを設定する。static voidsetInternalRequestId(String requestId) スレッドローカルに内部リクエストIDを設定する。static voidsetLanguage(Locale locale) スレッドローカルに言語を設定する。static voidスレッドコンテキストにオブジェクトを設定する。static voidsetRequestId(String requestId) スレッドローカルにリクエストIDを設定する。static voidsetTimeZone(TimeZone timeZone) スレッドローカルにタイムゾーンを設定する。static voidスレッドローカルにユーザIDを設定する。
-
Field Details
-
LANG_KEY
言語のキー。- See Also:
-
TIME_ZONE_KEY
タイムゾーンのキー。- See Also:
-
USER_ID_KEY
ユーザIDのキー。- See Also:
-
REQUEST_ID_KEY
リクエストIDのキー。- See Also:
-
INTERNAL_REQUEST_ID_KEY
内部リクエストIDのキー。- See Also:
-
EXECUTION_ID_KEY
実行時IDのキー。- See Also:
-
CONCURRENT_NUMBER_KEY
並行実行スレッド数のキー。- See Also:
-
-
Method Details
-
getLanguage
スレッドローカルから言語を取得する。- Returns:
- 言語
-
setLanguage
スレッドローカルに言語を設定する。- Parameters:
locale- 言語
-
getTimeZone
スレッドローカルからタイムゾーンを取得する。- Returns:
- タイムゾーン
-
setTimeZone
スレッドローカルにタイムゾーンを設定する。- Parameters:
timeZone- タイムゾーン
-
getUserId
スレッドローカルからユーザIDを取得する。- Returns:
- ユーザID
-
setUserId
スレッドローカルにユーザIDを設定する。- Parameters:
userId- ユーザID
-
getRequestId
スレッドローカルからリクエストIDを取得する。- Returns:
- リクエストID
-
setRequestId
スレッドローカルにリクエストIDを設定する。- Parameters:
requestId- リクエストID
-
getInternalRequestId
スレッドローカルから内部リクエストIDを取得する。- Returns:
- 内部リクエストID
-
setInternalRequestId
スレッドローカルに内部リクエストIDを設定する。- Parameters:
requestId- 内部リクエストID
-
getExecutionId
スレッドローカルから実行時IDを取得する。- Returns:
- 実行時ID
-
setExecutionId
スレッドローカルに実行時IDを設定する。- Parameters:
executionId- 実行時ID
-
setObject
スレッドコンテキストにオブジェクトを設定する。- Parameters:
key- オブジェクトのキーobject- 設定するオブジェクト
-
getObject
スレッドコンテキストからオブジェクトを取得する。- Parameters:
key- オブジェクトのキー- Returns:
- 取得したオブジェクト
-
clear
public static void clear()スレッドコンテキストの内容をクリアする。 -
getConcurrentNumber
public static int getConcurrentNumber()スレッドコンテキストから並行実行スレッド数を取得する。- Returns:
- 並行実行スレッド数
-
setConcurrentNumber
public static void setConcurrentNumber(int value) スレッドコンテキストに並行実行スレッド数を設定する。- Parameters:
value- 並行実行スレッド数
-