spring定时任务(scheduler)的串行并行执行

Posted lizs0314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring定时任务(scheduler)的串行并行执行相关的知识,希望对你有一定的参考价值。

对于spring的定时任务,最近有接触过一些,对于串行和并行也学习了一下,现在这里做下记录。

我是把每个定时任务分别写在不同的类中的,即一个类就是一个定时任务,然后在spring配置文件中进行配置,首先说串行任务的配置。如下:

1、串行

<task:scheduled-tasks>
            <task:scheduled ref="className1" method="methodName1" cron="0 0/5 * * * ?"/>
            <task:scheduled ref="className2" method="methodName2" cron="0 0 12 * * ?"/>
</task:scheduled-tasks>

如上所示为两个串行的定时任务,分别为类className1中的methodName1和类className2中的methodName2两个方法,串行的执行方式为先执行定时任务1,定时任务1执行结束后再执行定时任务2。

2、并行

<task:scheduler id="scheduler" pool-size="10" />
<task:scheduled-tasks scheduler="scheduler" >
      <task:scheduled ref="className1" method="methodName1" cron="0 0/5 * * * ?"/> 
      <task:scheduled ref="className2" method="methodName2" cron="0 0 12 * * ?"/>
</task:scheduled-tasks>

如上所示为两个并行的定时任务,两个定时任务没有先后顺序,可以同时执行。pool-size="10"  为同时执行定时任务的最大数量。

以上就是关于spring定时任务的串行和并行的配置。

如果我写的内容有问题或者不足的地方,欢迎指出。谢谢。

以上是关于spring定时任务(scheduler)的串行并行执行的主要内容,如果未能解决你的问题,请参考以下文章

Spring调度定时任务的方式

spring schedule 定时任务

在Spring项目中使用@Scheduled注解定义简单定时任务

spring task的定时任务突然断了

Spring Batch 中 Scheduler 定时任务

Spring @Scheduled定时任务动态修改cron参数