Package nablarch.core
Class ThreadContext
java.lang.Object
nablarch.core.ThreadContext
スレッド内で共有すべきオブジェクトを保持するクラス。
本クラスで保持する値は、子スレッドが起動された場合、
暗黙的に全ての情報を子スレッドに引き継ぐ仕様となっている。
このため、子スレッドでは個別に値を設定することなく、親スレッドで設定した値を使用することが出来る。
また、子スレッドで個別に値を変更することも出来るが、ThreadLocalに格納したオブジェクトは各スレッドで共有され、
別スレッドの動作に影響を与える危険があるので、イミュータブルな値とスレッドセーフな値のみを格納すること。
- Author:
- Koichi Asano
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
clear()
スレッドコンテキストの内容をクリアする。static int
スレッドコンテキストから並行実行スレッド数を取得する。static String
スレッドローカルから実行時IDを取得する。static String
スレッドローカルから内部リクエストIDを取得する。static Locale
スレッドローカルから言語を取得する。static Object
スレッドコンテキストからオブジェクトを取得する。static String
スレッドローカルからリクエストIDを取得する。static TimeZone
スレッドローカルからタイムゾーンを取得する。static String
スレッドローカルからユーザIDを取得する。static void
setConcurrentNumber
(int value) スレッドコンテキストに並行実行スレッド数を設定する。static void
setExecutionId
(String executionId) スレッドローカルに実行時IDを設定する。static void
setInternalRequestId
(String requestId) スレッドローカルに内部リクエストIDを設定する。static void
setLanguage
(Locale locale) スレッドローカルに言語を設定する。static void
スレッドコンテキストにオブジェクトを設定する。static void
setRequestId
(String requestId) スレッドローカルにリクエストIDを設定する。static void
setTimeZone
(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
- 並行実行スレッド数
-