Package nablarch.core

Class ThreadContext

java.lang.Object
nablarch.core.ThreadContext

@Published(tag="architect") public final class ThreadContext extends Object
スレッド内で共有すべきオブジェクトを保持するクラス。

本クラスで保持する値は、子スレッドが起動された場合、 暗黙的に全ての情報を子スレッドに引き継ぐ仕様となっている。 このため、子スレッドでは個別に値を設定することなく、親スレッドで設定した値を使用することが出来る。 また、子スレッドで個別に値を変更することも出来るが、ThreadLocalに格納したオブジェクトは各スレッドで共有され、 別スレッドの動作に影響を与える危険があるので、イミュータブルな値とスレッドセーフな値のみを格納すること。

  • Field Details

  • Method Details

    • getLanguage

      @Published public static Locale getLanguage()
      スレッドローカルから言語を取得する。
      Returns:
      言語
    • setLanguage

      public static void setLanguage(Locale locale)
      スレッドローカルに言語を設定する。
      Parameters:
      locale - 言語
    • getTimeZone

      @Published public static TimeZone getTimeZone()
      スレッドローカルからタイムゾーンを取得する。
      Returns:
      タイムゾーン
    • setTimeZone

      public static void setTimeZone(TimeZone timeZone)
      スレッドローカルにタイムゾーンを設定する。
      Parameters:
      timeZone - タイムゾーン
    • getUserId

      @Published public static String getUserId()
      スレッドローカルからユーザIDを取得する。
      Returns:
      ユーザID
    • setUserId

      public static void setUserId(String userId)
      スレッドローカルにユーザIDを設定する。
      Parameters:
      userId - ユーザID
    • getRequestId

      @Published public static String getRequestId()
      スレッドローカルからリクエストIDを取得する。
      Returns:
      リクエストID
    • setRequestId

      public static void setRequestId(String requestId)
      スレッドローカルにリクエストIDを設定する。
      Parameters:
      requestId - リクエストID
    • getInternalRequestId

      @Published public static String getInternalRequestId()
      スレッドローカルから内部リクエストIDを取得する。
      Returns:
      内部リクエストID
    • setInternalRequestId

      public static void setInternalRequestId(String requestId)
      スレッドローカルに内部リクエストIDを設定する。
      Parameters:
      requestId - 内部リクエストID
    • getExecutionId

      @Published public static String getExecutionId()
      スレッドローカルから実行時IDを取得する。
      Returns:
      実行時ID
    • setExecutionId

      public static void setExecutionId(String executionId)
      スレッドローカルに実行時IDを設定する。
      Parameters:
      executionId - 実行時ID
    • setObject

      public static void setObject(String key, Object object)
      スレッドコンテキストにオブジェクトを設定する。
      Parameters:
      key - オブジェクトのキー
      object - 設定するオブジェクト
    • getObject

      public static Object getObject(String key)
      スレッドコンテキストからオブジェクトを取得する。
      Parameters:
      key - オブジェクトのキー
      Returns:
      取得したオブジェクト
    • clear

      public static void clear()
      スレッドコンテキストの内容をクリアする。
    • getConcurrentNumber

      public static int getConcurrentNumber()
      スレッドコンテキストから並行実行スレッド数を取得する。
      Returns:
      並行実行スレッド数
    • setConcurrentNumber

      public static void setConcurrentNumber(int value)
      スレッドコンテキストに並行実行スレッド数を設定する。
      Parameters:
      value - 並行実行スレッド数