在做后台任务的时候经常需要实现各种各种的定时的,周期性的任务。比如每隔一段时间更新一下缓存之类的。目前我们一般都采用String框架,所以,其他的概念性问题在这也不多提了,下面直接贴实现代码,希望得帮助到需要的朋友们。
/** fixedDelay 间隔时间点调用 **/
@Scheduled
(fixedDelay=5000)
public
void
sayHello(){
System.
out
.println(
"处理任务开始>......."
);
System.
out
.println(
"时间【"
+
new
Date()+
"】"
);
System.
out
.println(
"处理任务结束>......."
);
}
/** cron 设置摸个时间点调用 **/
/***
* 自动发送消息
* 每月的1日的凌晨2点调度任务
* *****/
@Scheduled
(cron=
"0 0 2 1 * ?"
)
//
public
void
autoSendMessage(){
System.out.println("处理任务开始>.......");
System.out.println("时间【"+new Date()+ "】");
System.out.println("处理任务结束>.......");
}
/**
CRON表达式 含义
"0 0 12 * * ?" 每天中午十二点触发
"0 15 10 ? * *" 每天早上10:15触发
"0 15 10 * * ?" 每天早上10:15触发
"0 15 10 * * ? *" 每天早上10:15触发
"0 15 10 * * ? 2005" 2005年的每天早上10:15触发
"0 * 14 * * ?" 每天从下午2点开始到2点59分每分钟一次触发
"0 0/5 14 * * ?" 每天从下午2点开始到2:55分结束每5分钟一次触发
"0 0/5 14,18 * * ?" 每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发
"0 0
-
5 14 * * ?" 每天14:00至14:05每分钟一次触发
"0 10,44 14 ? 3 WED" 三月的每周三的14:10和14:44触发
"0 15 10 ? * MON
-
FRI" 每个周一、周二、周三、周四、周五的10:15触发
**/