Spring ThreadPoolTask​​Scheduler vs ThreadPoolTask​​Executor

标签 spring task scheduled-tasks threadpoolexecutor executor

Spring documentation 中提到那:

ThreadPoolTaskScheduler actually implements Spring's TaskExecutor interface as well, so that a single instance can be used for asynchronous execution as soon as possible as well as scheduled, and potentially recurring, executions.

那么我们希望在哪些场景中使用 ThreadPoolTask​​Executor 实例而不是 ThreadPoolTask​​Scheduler 实例?

我目前正在使用 Spring XML。我正在创建 ThreadPoolTask​​Scheduler 的 bean,如下所示:

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

ThreadPoolTask​​Executor实例的bean可以被创建为

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

最佳答案

您在 Spring 文档中引用的那句话只是说您可以使用调度程序来执行任务,但这不是它的主要目的。 ThreadPoolTask​​Executor 通过其corePoolSize 提供线程池的细粒度配置。 , maxPoolSize , keepAliveSecondsqueueCapacity特性。 ThreadPoolTask​​Scheduler 等调度程序不提供此类配置。

因此,在两者之间进行选择会产生以下问题:我是否需要执行或计划执行任务?

关于Spring ThreadPoolTask​​Scheduler vs ThreadPoolTask​​Executor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33453722/

相关文章:

java - spring 外部属性文件;文件未找到异常

sharepoint 用户无法编辑他们的工作流任务

python - 哪种方式最适合运行后台进程?

c# - ASP.NET 计划删除临时文件

java - 使用 Java DSL 成功 ftp 传输后移动文件

java - JSR-303 将语言环境注入(inject)自定义 validator

java - Appfuse - Spring 4 应用程序无法在 Tomcat 7 上部署

c# - 任务被取消,但不清楚原因和方式

C# TPL怎么知道所有的任务都完成了?

java - 通过java在特定日期发送自动邮件