楔子
spring的定时任务的学习
测试task:scheduler 参数
spring定时任务
<task:scheduled-tasks >
<task:scheduled ref="demoQua" method="name" cron="1/1 * * * * ? " />
<task:scheduled ref="demoQua" method="second" cron="1/2 * * * * ? " />
</task:scheduled-tasks>
按照上面的配置时,是按照配置的顺序执行的。如果任务1耗时长,那么任务2只能等待。
<task:scheduler id="schedul" pool-size="2"/>
<task:scheduled-tasks scheduler="schedul">
<task:scheduled ref="demoQua" method="name" cron="1/1 * * * * ? " />
<task:scheduled ref="demoQua" method="second" cron="1/2 * * * * ? " />
</task:scheduled-tasks>
使用
task:scheduler
时 pool-size:调度线程池的大小 。任务会同时开始
![]()
上面使用了打印信息做测试,其中任务1中加入延时。
<context:component-scan base-package="cn.zhuzi.cron" />
<bean id="demoQuas" class="cn.zhuzi.cron.CronDemo" />
<task:scheduler id="schedul" pool-size="2"/>
<task:scheduled-tasks scheduler="schedul">
<task:scheduled ref="demoQua" method="name" cron="1/1 * * * * ? " />
<task:scheduled ref="demoQua" method="second" cron="1/2 * * * * ? " />
</task:scheduled-tasks>
@Component("demoQua")
public class CronDemo {
public void name() {
System.out.println("11111>");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public void second() {
System.out.println("22222 ");
System.out.println("--------------------");
}
}
参考 https://blog.youkuaiyun.com/weixin_37848710/article/details/79635021