一、有参任务调度
1.类
public class JobTask {
public void job1(){
System.out.println("===>一个礼拜总有那么6,7天不想上班~~"+new Date());
}
public void job2(){
System.out.println("===>披星戴月,日夜兼程,做无与伦比的自己~~"+new Date());
}
}
2.配置
<!--开启调度配置-->
<task:scheduled-tasks>
<!--任务出发规则-->
<!--Cron表达式语法:
秒 分 时 日 月 星期 [年]
spring4.0后不再设置年
秒:0~59
分钟: 0~59
小时: 0~23
日: 0~31
月: 0~12
星期:填写MON,TUE,WED,THU,FRI,SAT,SUN或数字1~7;1表示MON;
特殊字符:
/字符表示指定数值的增量;2/3
*字符表示所有可能的值;
-字符表示区间范围;
,字符表示列举;
?字符仅被用于月中的天和周中的天两个子表达式,表示不指定值。
-->
<task:scheduled ref="jobTask" method="job1" cron="* * 21 4 8 ?"/>
<task:scheduled ref="jobTask" method="job2" cron="3/3 * 21 4 8 ?"/>
</task:scheduled-tasks>
3.测试
测试类
public class Test01 {
public static void main(String[] args) {
ApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
}
}
测试如图:
二、基于注解实现
测试类
1.类
@Component
public class JobTask {
@Scheduled(cron = "3/5 * 21 4 8 ?")
public void job1(){
System.out.println("===>任务调度"+ new Date());
}
}
2.配置
<context:component-scan base-package="com.apesource"></context:component-scan>
<task:annotation-driven></task:annotation-driven>
3.测试
public static void main(String[] args) {
ApplicationContext applicationContext =new ClassPathXmlApplicationContext("applicationContext.xml");
}
结果如图: