Package org.iplass.mtp.async
Class AsyncTaskOption
java.lang.Object
org.iplass.mtp.async.AsyncTaskOption
非同期タスクの実行オプションを表すクラスです。
実行時の設定(キュー名、実行モードなど)を指定可能です。
-
Field Summary
-
Constructor Summary
ConstructorDescriptionデフォルトの実行設定、デフォルトのキューで実行するAsyncTaskOptionを構築します。 実際のオプションの値は、 queue=AsyncTaskOption.DEFAULT_QUEUE_NAME, groupingKey=null, startMode=StartMode.AFTER_COMMIT, exceptionHandlingMode=ExceptionHandlingMode.RESTART, returnResult=false, executionTime=0 で初期化されます。AsyncTaskOption
(boolean returnResult) returnResult以外をデフォルト設定、デフォルトのキューで実行するAsyncTaskOptionを構築します。 実際のオプションの値は、 queue=AsyncTaskOption.DEFAULT_QUEUE_NAME, groupingKey=null, startMode=StartMode.AFTER_COMMIT, exceptionHandlingMode=ExceptionHandlingMode.RESTART, executionTime=0 で初期化されます。AsyncTaskOption
(String queue, String groupingKey, StartMode startMode, ExceptionHandlingMode exceptionHandlingMode, boolean returnResult, long executionTime) AsyncTaskOptionのコンストラクタです。 -
Method Summary
Modifier and TypeMethodDescriptionexceptionHandlingMode
(ExceptionHandlingMode exceptionHandlingMode) 例外発生時の処理方法を指定します。executionTime
(long executionTime) 非同期処理の開始時間を指定します。 現在時間より前が指定された場合はタスクが登録完了後、即座に開始されます。long
getQueue()
groupingKey
(String groupingKey) 一連のタスクをグループ化するgroupingKeyを指定します。 groupingKeyを設定すると、そのグループのタスクは必ず同一のタスク実行Workerで実行されるようになります。 「厳密な実行順」を設定されたキューを利用し、このgroupingKeyを指定した場合、 そのgroupingKeyにおいてタスクの実行順序を保障することが可能となります。boolean
キュー名を指定します。非同期タスクが処理結果を返却することを指定します。 処理結果を返す場合は、AsyncTaskFuture.get()
で結果の取得が可能です。void
setExceptionHandlingMode
(ExceptionHandlingMode exceptionHandlingMode) void
setExecutionTime
(long executionTime) void
setGroupingKey
(String groupingKey) void
void
setReturnResult
(boolean returnResult) void
setStartMode
(StartMode startMode) 非同期タスクの開始方法を指定します。
-
Field Details
-
DEFAULT_QUEUE_NAME
デフォルトキューを指し示すキュー名です。値は"default"です。- See Also:
-
LOCAL_THREAD_QUEUE_NAME
ローカルスレッドで実行する際のキュー名です。値は"localThread"です。- See Also:
-
-
Constructor Details
-
AsyncTaskOption
public AsyncTaskOption()デフォルトの実行設定、デフォルトのキューで実行するAsyncTaskOptionを構築します。 実際のオプションの値は、 queue=AsyncTaskOption.DEFAULT_QUEUE_NAME, groupingKey=null, startMode=StartMode.AFTER_COMMIT, exceptionHandlingMode=ExceptionHandlingMode.RESTART, returnResult=false, executionTime=0 で初期化されます。 -
AsyncTaskOption
public AsyncTaskOption(boolean returnResult) returnResult以外をデフォルト設定、デフォルトのキューで実行するAsyncTaskOptionを構築します。 実際のオプションの値は、 queue=AsyncTaskOption.DEFAULT_QUEUE_NAME, groupingKey=null, startMode=StartMode.AFTER_COMMIT, exceptionHandlingMode=ExceptionHandlingMode.RESTART, executionTime=0 で初期化されます。- Parameters:
returnResult
- この非同期タスクが結果値を返す場合はtrue
-
AsyncTaskOption
public AsyncTaskOption(String queue, String groupingKey, StartMode startMode, ExceptionHandlingMode exceptionHandlingMode, boolean returnResult, long executionTime) AsyncTaskOptionのコンストラクタです。- Parameters:
queue
- キュー名groupingKey
- グループキーstartMode
- 非同期処理開始モードexceptionHandlingMode
- 例外処理モードreturnResult
- 非同期処理が結果を返す場合trueexecutionTime
- 実行開始時間。現在時間以下の場合は、即座に開始。
-
-
Method Details
-
queue
キュー名を指定します。- Parameters:
queue
-- Returns:
-
groupingKey
一連のタスクをグループ化するgroupingKeyを指定します。 groupingKeyを設定すると、そのグループのタスクは必ず同一のタスク実行Workerで実行されるようになります。 「厳密な実行順」を設定されたキューを利用し、このgroupingKeyを指定した場合、 そのgroupingKeyにおいてタスクの実行順序を保障することが可能となります。- Parameters:
groupingKey
-- Returns:
-
startMode
非同期タスクの開始方法を指定します。- Parameters:
startMode
-- Returns:
-
exceptionHandlingMode
例外発生時の処理方法を指定します。- Parameters:
exceptionHandlingMode
-- Returns:
-
returnResult
非同期タスクが処理結果を返却することを指定します。 処理結果を返す場合は、AsyncTaskFuture.get()
で結果の取得が可能です。- Returns:
-
executionTime
非同期処理の開始時間を指定します。 現在時間より前が指定された場合はタスクが登録完了後、即座に開始されます。- Parameters:
executionTime
-- Returns:
-
getExecutionTime
public long getExecutionTime() -
setExecutionTime
public void setExecutionTime(long executionTime) -
getExceptionHandlingMode
-
setExceptionHandlingMode
-
getQueue
-
setQueue
-
getGroupingKey
-
setGroupingKey
-
getStartMode
-
setStartMode
-
isReturnResult
public boolean isReturnResult() -
setReturnResult
public void setReturnResult(boolean returnResult)
-