パッケージ org.iplass.mtp.impl.async

クラス AsyncTaskManagerImpl

java.lang.Object
org.iplass.mtp.impl.async.AsyncTaskManagerImpl
すべての実装されたインタフェース:
AsyncTaskManager, Manager

public class AsyncTaskManagerImpl extends Object implements AsyncTaskManager
  • コンストラクタの詳細

    • AsyncTaskManagerImpl

      public AsyncTaskManagerImpl()
  • メソッドの詳細

    • executeOnThread

      public <V> Future<V> executeOnThread(Callable<V> task)
      インタフェースからコピーされた説明: AsyncTaskManager
      ローカルスレッドでタスクを非同期実行する。
      ローカルスレッド実行では以下の制約がある。
      • トランザクション管理対象外:呼び出し元がロールバックしても、非同期処理が継続
      • AsyncTaskManager.getResult(long, String)による問い合わせ不可
      • リトライ、タイムアウトなどの制御なし
      定義:
      executeOnThread インタフェース内 AsyncTaskManager
      パラメータ:
      task - 非同期実行する処理
      戻り値:
      実行結果を表すFuture
    • execute

      public <V> AsyncTaskFuture<V> execute(Callable<V> task)
      インタフェースからコピーされた説明: AsyncTaskManager
      デフォルトの実行オプション設定にて指定のtaskを非同期実行する。 デフォルトの設定はAsyncTaskOptionを参照のこと。
      定義:
      execute インタフェース内 AsyncTaskManager
      パラメータ:
      task - 非同期実行する処理
      戻り値:
      実行結果を表すAsyncTaskFuture
    • execute

      public <V> AsyncTaskFuture<V> execute(AsyncTaskOption option, Callable<V> task)
      インタフェースからコピーされた説明: AsyncTaskManager
      指定のtask, optionで表現される非同期タスクを実行する。
      ローカルスレッド実行指定(AsyncTaskManager.executeOnThread(Callable) or optionのキュー名に
      無効な参照です
      AsyncTaskManager#LOCAL_THREAD_QUEUE_NAME
      指定)されない限り、 taskおよび、型VはSerializableを実装する必要がある。
      また、ロカールスレッド実行ではない場合、 このメソッドの結果として返される、AsyncTaskFutureのインスタンスの扱いは注意が必要。 ロカールスレッド実行に比較して、キューを介したタスクの処理には比較的処理時間がかかるため、 また、
      無効な参照です
      StartMode.AFTER_COMMIT
      の場合、 呼び出すスレッドのトランザクションが完了するまで非同期タスクの実行が開始されないため、 AsyncTaskFuture.get()の呼び出しはタイムアウトする可能性が高い。 別のタイミングで、AsyncTaskManager.getResult(long, String)を呼び出し、結果を取得すること。
      定義:
      execute インタフェース内 AsyncTaskManager
      パラメータ:
      option - 非同期タスク実行オプション
      task - 非同期実行する処理
      戻り値:
      実行結果を表すAsyncTaskFuture
    • getResult

      public <V> AsyncTaskFuture<V> getResult(long taskId, String queueName)
      インタフェースからコピーされた説明: AsyncTaskManager
      指定のtaskId,queueNameで特定される非同期タスクの実行結果を問い合わせる。
      定義:
      getResult インタフェース内 AsyncTaskManager
      パラメータ:
      taskId -
      queueName - キュー名、nullの場合はデフォルトキュー指定されたとみなす
      戻り値:
      実行結果を表すAsyncTaskFuture
    • loadAsyncTaskInfo

      public AsyncTaskInfo loadAsyncTaskInfo(long taskId, String queueName)
      インタフェースからコピーされた説明: AsyncTaskManager
      AsyncTaskInfoの詳細を取得する。 task、およびresultもロードする。
      定義:
      loadAsyncTaskInfo インタフェース内 AsyncTaskManager
      パラメータ:
      taskId -
      queueName - キュー名、nullの場合はデフォルトキュー指定されたとみなす
      戻り値:
    • searchAsyncTaskInfo

      public List<AsyncTaskInfo> searchAsyncTaskInfo(AsyncTaskInfoSearchCondtion cond)
      インタフェースからコピーされた説明: AsyncTaskManager
      永続Storeに保存されている(ローカルスレッド実行でない)非同期タスクの情報を取得する。 このメソッドを利用して返却されるAsyncTaskInfoには、taskおよび、resultは含まれない(メモリ負荷を考慮し)。 これらを取得する場合は、別途AsyncTaskManager.loadAsyncTaskInfo(long, String)を利用する。
      定義:
      searchAsyncTaskInfo インタフェース内 AsyncTaskManager
      パラメータ:
      cond -
      戻り値:
    • forceDelete

      public void forceDelete(long taskId, String queueName)
      インタフェースからコピーされた説明: AsyncTaskManager
      AsyncTaskInfoを強制削除する。
      定義:
      forceDelete インタフェース内 AsyncTaskManager
      パラメータ:
      taskId -
      queueName - キュー名、nullの場合はデフォルトキュー指定されたとみなす