jp.terasoluna.fw.batch.commonj.usequeue
クラス WorkManagerTaskWorkQueue

java.lang.Object
  上位を拡張 jp.terasoluna.fw.batch.standard.StandardWorkQueue
      上位を拡張 jp.terasoluna.fw.batch.commonj.usequeue.WorkManagerTaskWorkQueue
すべての実装されたインタフェース:
WorkQueue

public class WorkManagerTaskWorkQueue
extends StandardWorkQueue

WorkQueue インタフェースのCommonj用実装クラス。

この実装では、JDKの BLockingQueue によってキューイングを実現する。

キューへの要素追加、キューからの要素取得の際には、ブロックし続けるのではなく、 タイムアウト時間だけ試行したあとでJobStatus をチェックし QueueingException 例外をスローする。 キューへの要素追加、キューからの要素取得の際に、スレッドがインタラプトされた 際にもQueueingException 例外をスローする。


フィールドの概要
private  java.util.List<WorkItem> workItemList
          キューの要素の処理結果のリスト。
private  WorkManager workManager
          ワークマネージャ。
private  long workTimeout
          ジョブを開始するまでのタイムアウト(ミリ秒)。
 
クラス jp.terasoluna.fw.batch.standard.StandardWorkQueue から継承されたフィールド
END_MARK
 
コンストラクタの概要
WorkManagerTaskWorkQueue(int queueLength, JobStatus jobStatus)
          コンストラクタ。
 
メソッドの概要
 void addFutureJobResult(java.util.concurrent.Future<?> futureResult)
          処理結果に非同期でアクセスするためのフューチャーを追加する。
 void addWorkItem(WorkItem workItem)
          ワーカの処理結果に非同期でアクセスするためのWorkItemを追加する。
 void setWorkManager(WorkManager workManager)
          ワークマネージャを設定する。
 void setWorkTimeout(long workTimeout)
          ジョブを開始するまでのタイムアウト(ミリ秒)の設定。
 void waitForAllWorkers()
          キューの要素を処理するすべてのワーカの終了を待ち合わせる。
 
クラス jp.terasoluna.fw.batch.standard.StandardWorkQueue から継承されたメソッド
close, put, setQueueCheckTimeout, take
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

workItemList

private java.util.List<WorkItem> workItemList
キューの要素の処理結果のリスト。


workManager

private WorkManager workManager
ワークマネージャ。


workTimeout

private long workTimeout
ジョブを開始するまでのタイムアウト(ミリ秒)。

コンストラクタの詳細

WorkManagerTaskWorkQueue

public WorkManagerTaskWorkQueue(int queueLength,
                                JobStatus jobStatus)
コンストラクタ。

パラメータ:
queueLength - キューの長さ
jobStatus - ジョブステータス
メソッドの詳細

waitForAllWorkers

public void waitForAllWorkers()
キューの要素を処理するすべてのワーカの終了を待ち合わせる。

定義:
インタフェース WorkQueue 内の waitForAllWorkers
オーバーライド:
クラス StandardWorkQueue 内の waitForAllWorkers

addWorkItem

public void addWorkItem(WorkItem workItem)
ワーカの処理結果に非同期でアクセスするためのWorkItemを追加する。

パラメータ:
workItem - ワーカの処理結果に非同期でアクセスするためのWorkItem

setWorkManager

public void setWorkManager(WorkManager workManager)
ワークマネージャを設定する。

パラメータ:
workManager - workManager ワークマネージャ

setWorkTimeout

public void setWorkTimeout(long workTimeout)
ジョブを開始するまでのタイムアウト(ミリ秒)の設定。

パラメータ:
workTimeout - タイムアウト(ミリ秒)

addFutureJobResult

public void addFutureJobResult(java.util.concurrent.Future<?> futureResult)
処理結果に非同期でアクセスするためのフューチャーを追加する。 このクラスでは使用しないため、UnsupportedOperationExceptionをスローする。

オーバーライド:
クラス StandardWorkQueue 内の addFutureJobResult
パラメータ:
futureResult - 処理結果に非同期でアクセスするフューチャー