org.opengion.hayabusa.report2

## クラス ExecThreadManager

- java.lang.Object
- - org.opengion.hayabusa.report2.ExecThreadManager

-     public final class ExecThreadManager
      extends java.lang.Object

       帳票処理を行う各スレッドを管理するクラスです。

       各スレッドは、内部的にプールされます。
       スレッドのIDはOOoQueue#getThreadId()で返される値です。
       スレッドが生成されるタイミングは、そのIDで初めてスタック要求が来た(insertQueue()が呼ばれた)時です。

       指定のスレッドを終了するには、funishThread( key )を呼び出します。
       全てのスレッドを終了するには、funishAllThreads()を呼び出します。

       現時点での実装では、生成されたスレッドに対しての監視は行っていません。
       これは、特定のスレッドがフリーズした際、外部から強制終了を行おうとすると、
       監視スレッドもフリーズしてしまう問題があるためです。
       (但し、1つのsoffice.binのプロセスに対してシリアルに対して処理している限りでは、
        フリーズ問題は発生しないようです)

  機能分類
    帳票システム
  バージョン
    4.0
  作成者
    Hiroki.Nakamura
  導入されたバージョン:
    JDK1.6

- - ### メソッドのサマリー

    すべてのメソッド staticメソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `static void` | `finishAllThreads()` 全てのスレッドを終了します。
    `static void` | `finishThread(java.lang.String threadId)` 指定のスレッドを終了します。
    `static java.util.concurrent.ConcurrentMap` | `getThreadInfo()` スレッド情報のマップを返します。
    `static void` | `insertQueue(ExecQueue queue)` キューを該当するスレッドにスタックする。
    `static void` | `insertQueueOnNewThread(ExecQueue queue)` キューを該当するスレッドにスタックする このメソッドでは、既に同じスレッドが存在するかどうかをチェックせずに必ず 新しいスレッドを生成し、キューを処理します。
    `static void` | `setDebug(boolean flag)` デバッグフラグの設定。

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### メソッドの詳細

    - #### insertQueue

          public static void insertQueue(ExecQueue queue)

      キューを該当するスレッドにスタックする。
      パラメータ:
        `queue` - ExecQueueオブジェクト
      変更履歴:

        4.3.0.0 (2008/07/15) スレッドIDにシステムIDを付加

    - #### insertQueueOnNewThread

          public static void insertQueueOnNewThread(ExecQueue queue)

      キューを該当するスレッドにスタックする このメソッドでは、既に同じスレッドが存在するかどうかをチェックせずに必ず 新しいスレッドを生成し、キューを処理します。 また、処理が完了した後、そのスレッドは、WAITすることなく終了します。
      パラメータ:
        `queue` - ExecQueueオブジェクト
      変更履歴:

        5.1.6.0 (2010/05/01) 新規作成

    - #### finishAllThreads

          public static void finishAllThreads()

      全てのスレッドを終了します。 ※ REP21/result2.jsp で、使用。
      変更履歴:

        6.4.3.3 (2016/03/04) Map#forEach で対応する。

    - #### finishThread

          public static void finishThread(java.lang.String threadId)

      指定のスレッドを終了します。 ※ REP21/entry.jsp で、使用。
      パラメータ:
        `threadId` - スレッドID

    - #### getThreadInfo

          public static java.util.concurrent.ConcurrentMap getThreadInfo()

      スレッド情報のマップを返します。 ※ REP21/result2.jsp で、使用。
      戻り値:
        スレッド情報のマップ
      変更履歴:

        6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。
        6.4.3.3 (2016/03/04) 戻すMapが、not null制限つきであることを示すため、ConcurrentMap に置き換えます。
        6.4.3.3 (2016/03/04) Map#forEach で対応する。

    - #### setDebug

          public static void setDebug(boolean flag)

      デバッグフラグの設定。
      パラメータ:
        `flag` - デバッグフラグ [true:デバッグ/false:通常]
      変更履歴:

        4.3.0.0 (2008/07/15) デバッグ追加

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.