web-dev-qa-db-ja.com

SpringThreadPoolTask​​SchedulerとThreadPoolTask​​Executor

春のドキュメント に記載されています:

ThreadPoolTaskSchedulerは実際にはSpringのTaskExecutorインターフェースも実装しているため、単一のインスタンスをできるだけ早く非同期実行に使用できるだけでなく、スケジュールされた、場合によっては繰り返し実行される可能性もあります。

では、ThreadPoolTaskExecutorインスタンスではなくThreadPoolTaskSchedulerインスタンスを使用するシナリオはどれですか?

現在SpringXMLを使用しています。次のようにThreadPoolTaskSchedulerのBeanを作成しています。

<task:scheduler id="myScheduler" pool-size="1"/>

一方、ThreadPoolTaskExecutorインスタンスのBeanは次のように作成できます。

<task:executor id="executor" pool-size="10"/>
15
chammu

Springのドキュメントで引用した文は、canがスケジューラーを使用してタスクを実行できることを示しているだけですが、それが主な目的ではありません。 ThreadPoolTaskExecutorは、 corePoolSizemaxPoolSizekeepAliveSeconds および queueCapacity プロパティ。 ThreadPoolTaskSchedulerなどのスケジューラーはそのような構成を提供しません。

そのため、2つから選択すると、次の質問が出てきます。タスクを実行または実行するようにスケジュールする必要がありますか?

20
Tunaki