クラス ConcurrentTaskExecutor

java.lang.ObjectSE
org.springframework.scheduling.concurrent.ConcurrentTaskExecutor
実装されたすべてのインターフェース:
ExecutorSEAsyncListenableTaskExecutorAsyncTaskExecutorTaskExecutorSchedulingTaskExecutor
既知の直属サブクラス
ConcurrentTaskSchedulerDefaultManagedTaskExecutor

public class ConcurrentTaskExecutor extends ObjectSE implements AsyncListenableTaskExecutor, SchedulingTaskExecutor
java.util.concurrent.Executor を受け取り、Spring TaskExecutor を公開するアダプター。また、拡張 java.util.concurrent.ExecutorService を検出し、それに応じて AsyncTaskExecutor インターフェースを適合させます。

ManagedTaskEE アダプターを公開するために JSR-236 ManagedExecutorServiceEE を自動検出し、SchedulingAwareRunnable に基づく長期実行ヒントと、指定された Runnable/Callable の toString() に基づく識別名を公開します。Jakarta EE 環境での JSR-236 スタイルのルックアップについては、DefaultManagedTaskExecutor の使用を検討してください。

ThreadPoolExecutorSE を Bean スタイルで定義し、Spring TaskExecutor として直接公開できるビルド済みの ThreadPoolTaskExecutor があることに注意してください。これは、現在のアダプタークラスの個別の定義を使用した生の ThreadPoolExecutor 定義の便利な代替手段です。

導入:
2.0
作成者:
Juergen Hoeller
関連事項:
  • コンストラクターの詳細

  • メソッドの詳細

    • setConcurrentExecutor

      public final void setConcurrentExecutor(ExecutorSE executor)
      委譲先の ExecutorSE を指定します。

      JSR-236 ManagedExecutorServiceEE を自動検出して、ManagedTaskEE アダプターを公開します。

    • getConcurrentExecutor

      public final ExecutorSE getConcurrentExecutor()
      このアダプターが委譲する ExecutorSE を返します。
    • setTaskDecorator

      public final void setTaskDecorator(TaskDecorator taskDecorator)
      実行しようとしている RunnableSE に適用するカスタム TaskDecorator を指定します。

      このようなデコレータは、必ずしもユーザー提供の Runnable/Callable に適用されるのではなく、実際の実行コールバック(ユーザー提供のタスクのラッパーである可能性があります)に適用されることに注意してください。

      主な使用例は、タスクの呼び出しの周囲に実行コンテキストを設定するか、タスク実行の監視 / 統計を提供することです。

      導入:
      4.3
    • execute

      public void execute(RunnableSE task)
      インターフェースからコピーされた説明: TaskExecutor
      指定された task を実行します。

      実装が非同期実行戦略を使用している場合、呼び出しはすぐに戻るか、同期実行の場合はブロックする可能性があります。

      次で指定:
      インターフェース ExecutorSEexecuteSE 
      次で指定:
      インターフェース TaskExecutorexecute 
      パラメーター:
      task - 実行する Runnable (非 null)
    • execute

      @DeprecatedSE public void execute(RunnableSE task, long startTimeout)
      使用すべきではありません。
      インターフェースからコピーされた説明: AsyncTaskExecutor
      指定された task を実行します。

      6.1 では、このメソッドにはタイムアウトを完全に無視して TaskExecutor.execute(Runnable) に委譲するだけのデフォルト実装が付属しています。

      次で指定:
      インターフェース AsyncTaskExecutorexecute 
      パラメーター:
      task - 実行する Runnable (非 null)
      startTimeout - タスクが開始される予定の期間(ミリ秒)。これはエグゼキューターへのヒントとして意図されており、即時タスクの優先処理を可能にします。一般的な値は AsyncTaskExecutor.TIMEOUT_IMMEDIATE または AsyncTaskExecutor.TIMEOUT_INDEFINITETaskExecutor.execute(Runnable) で使用されるデフォルト)です。
      関連事項:
    • submit

      public FutureSE<?> submit(RunnableSE task)
      インターフェースからコピーされた説明: AsyncTaskExecutor
      実行可能な Runnable タスクを送信し、そのタスクを表す Future を受け取ります。Future は完了時に null の結果を返します。

      6.1 では、このメソッドには TaskExecutor.execute(Runnable) に委譲するデフォルトの実装が付属しています。

      次で指定:
      インターフェース AsyncTaskExecutorsubmit 
      パラメーター:
      task - 実行する Runnable (非 null)
      戻り値:
      タスクの保留中の補完を表す Future
    • submit

      public <T> FutureSE<T> submit(CallableSE<T> task)
      インターフェースからコピーされた説明: AsyncTaskExecutor
      Callable タスクを送信して実行し、そのタスクを表す Future を受け取ります。Future は、完了時に Callable の結果を返します。

      6.1 では、このメソッドには TaskExecutor.execute(Runnable) に委譲するデフォルトの実装が付属しています。

      次で指定:
      インターフェース AsyncTaskExecutorsubmit 
      パラメーター:
      task - 実行する Callable (非 null)
      戻り値:
      タスクの保留中の補完を表す Future
    • submitListenable

      public ListenableFuture<?> submitListenable(RunnableSE task)
      インターフェースからコピーされた説明: AsyncListenableTaskExecutor
      Runnable タスクを実行のために送信し、そのタスクを表す ListenableFuture を受け取ります。Future は完了時に null の結果を返します。
      次で指定:
      インターフェース AsyncListenableTaskExecutorsubmitListenable 
      パラメーター:
      task - 実行する Runnable (非 null)
      戻り値:
      保留中のタスクの補完を表す ListenableFuture 
    • submitListenable

      public <T> ListenableFuture<T> submitListenable(CallableSE<T> task)
      インターフェースからコピーされた説明: AsyncListenableTaskExecutor
      Callable タスクを実行のために送信し、そのタスクを表す ListenableFuture を受け取ります。Future は、完了時に Callable の結果を返します。
      次で指定:
      インターフェース AsyncListenableTaskExecutorsubmitListenable 
      パラメーター:
      task - 実行する Callable (非 null)
      戻り値:
      保留中のタスクの補完を表す ListenableFuture