定时任务:Spring Task

Spring3.0以后自主开发的定时任务工具

cron表达式

Seconds,- * / 0-59
Minutes,- * / 0-59
Hours,- * / 0-23
DayofMonth, - * / ? L W C 0-31
Month,- * / 1-12
DayofWeek, - * / ? L C # 1-7 1表示星期天,2表示星期一
Year- * / 1970-2099

注意两个特殊的域DayofMonth DayofWeek 两者必须有一个不指定数值 即 ?,因为两者会产生冲突
假如在Minutes域使用*, 即表示每分钟都会触发事件
例如在Minutes域使用5-20,表示从5分到20分钟每分钟触发一次
例如在Minutes域使用5/20,则意味着5分钟触发一次,而25,45等分别触发一次
在Minutes域使用5,20,则意味着在5和20分每分钟触发一次
如果在DayofWeek域使用5L,意味着在最后的一个星期四触发
例如想在每月的20日触发调度,不管20日到底是星期几,则只能使用如下写法: 13 13 15 20 * ?
在 DayofMonth使用5W,如果5日是星期六,则将在最近的工作日:星期五,即4日触发。如果5日是星期天,则在6日(周一)触发;如果5日在星期一 到星期五中的一天,则就在5日触发
#用于确定每个月第几个星期几,例如在4#2,表示某月的第二个星期三

xml配置

<task:scheduled-tasks> 
	<task:scheduled ref="taskJob" method="job1" cron="0 * * * * ?"/> 
</task:scheduled-tasks> 
<context:component-scan base-package=" com.gy.mytask " />
@Service 
public class TaskJob {        
    public void job1() { 
        System.out.println(“任务进行中。。。”); 
    } 
} 

@Scheduled

@Component(“taskJob”) 
public class TaskJob { 
    @Scheduled(cron = "0 0 3 * * ?") 
    public void job1() { 
        System.out.println(“任务进行中。。。”); 
    } 
}
<task:annotation-driven scheduler="qbScheduler" mode="proxy"/> 
<task:scheduler id="poolTaskScheduler" pool-size="10"/>

springboot

启动类里面使用@EnableScheduling

@Scheduled(fixedDelay = 5000)
@Scheduled(fixedRate = 3000)
@Scheduled(cron = "0 0,30 0,8 ? * ? ")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值