Package org.iplass.mtp.command.async
package org.iplass.mtp.command.async
-
ClassDescription非同期Command呼び出しの際、AsyncRequestContextで取得可能なattributeの名前の定数。非同期Commandを呼び出し時に利用するRequestContext。
AsyncRequestContextは実行する際Serializeされ、DBに格納される。 そのため、非同期呼び出し時に渡す属性(attribute)は、Serializable実装されている必要がある。 また、極力小さなオブジェクトとなるようにする。 大きなオブジェクトを渡す場合は、別途Entityなどの形でDBに格納し、 AsyncRequestContextへは、そのキーであるoidを渡すようにする。
getParam,getParamsメソッドは、以下のようなロジックで動作する。非同期実行したCommandの処理結果により、なんらかの処理を実行したい場合に利用するインタフェース。
※RdbQueueを利用している場合、このhandleメソッドの呼び出しは、非同期処理のステータス更新トランザクションと 同一のトランザクション内で呼び出される。 もし、handleメソッド内で例外が発生した場合はトランザクションがロールバックされるので、 ステータス更新が正常に完了しない(=タスク実行中のままのステータスになり、結果タイムアウトとなる)点注意。非同期実行Commandの処理結果を指定のEntityの指定のプロパティに書き出すResultHandler。 例外が発生した場合は、"FAIL"と書き込む。 合わせて、propertyNameForExceptionNameが設定されている場合は、 そのプロパティに例外クラス名を書き込む。 propertyNameForExceptionMessageが設定されている場合は、 そのプロパティに例外クラスメッセージを書き込む。 exceptionIfNoEntity=trueが設定されている場合、 書き込み対象のEntityが存在しなかった場合、例外をスローする。デフォルトfalse。