クラス ExecThreadManager
- java.lang.Object
-
- org.opengion.hayabusa.report2.ExecThreadManager
-
public final class ExecThreadManager extends 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(String threadId)
指定のスレッドを終了します。static ConcurrentMap<String,String>
getThreadInfo()
スレッド情報のマップを返します。static void
insertQueue(ExecQueue queue)
キューを該当するスレッドにスタックする。static void
insertQueueOnNewThread(ExecQueue queue)
キューを該当するスレッドにスタックする このメソッドでは、既に同じスレッドが存在するかどうかをチェックせずに必ず 新しいスレッドを生成し、キューを処理します。static void
setDebug(boolean flag)
デバッグフラグの設定。
-
-
-
メソッドの詳細
-
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(String threadId)
指定のスレッドを終了します。 ※ REP21/entry.jsp で、使用。- パラメータ:
threadId
- スレッドID
-
getThreadInfo
public static ConcurrentMap<String,String> 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) デバッグ追加
-
-