定时任务是软件开发中经常使用一个功能。
Java定时任务广泛应用于各种需要定时执行或周期性执行任务的场景,如:
- 数据备份:定期备份数据库中的数据,确保数据的安全性和可靠性。
- 数据同步:如果有多个数据源需要同步数据,可以使用定时任务来定期同步数据,确保数据的一致性。
- 定时发送邮件或短信:在特定的时间点发送邮件或短信通知。
- 定时清理日志或缓存:定期清理系统中的日志或缓存数据,确保系统的稳定性和性能。
- 定时更新数据:定期从外部系统或数据库中获取最新数据,并更新到本地系统中。
下面我们介绍下若依框架中,定时任务的使用。
目录
1、编写添加定时任务处理类
2、平台创建定时任务
2.1、无参定时任务
2.2、有参定时任务
3、cron表达式的使用
4、定时任务开启和关闭
5、定时任务执行日志
1、编写添加定时任务处理类
若依是支持Bean
调用、Class
类调用。我们重点介绍Bean
调用。
首先目标类需要添加对应的Bean注解:@Component
或 @Service
@Component("Task")
public class ScheduledConfig {@Autowiredprivate ISysOperLogService operLogService;@Autowiredprivate ISysJobLogService jobLogService;/*** 定时清理 操作记录表、定时任务日志表 sys_oper_log、sys_job_log*/public void delLog() {//操作日志operLogService.cleanOperLog();//定时任务日志jobLogService.cleanJobLog();}
}
2、平台创建定时任务
Task.delLog()
Task:@Component("Task") 注解中的名字。
delLog():方法名。
2.1、无参定时任务
如上
2.2、有参定时任务
//举例子
public void demo(String code, Integer addr){System.out.println("有参定时任务");
}
创建一个有参方法(整型和字符型)
调用方法的写法:
Task.demo('5',1)
字符型参数:用 ' ' 。
整型参数:直接写数字。
3、cron表达式的使用
说明 | 必填 | 允许填写的值 | 允许的通配符 |
---|---|---|---|
秒 | 是 | 0-59 | , - * / |
分 | 是 | 0-59 | , - * / |
时 | 是 | 0-23 | , - * / |
日 | 是 | 1-31 | , - * / |
月 | 是 | 1-12 / JAN-DEC | , - * ? / L W |
周 | 是 | 1-7 or SUN-SAT | , - * ? / L # |
年 | 是 | 1970-2099 | , - * / |
举例子:
表达式 | 说明 |
---|---|
0 0 2 1 * ? * | 表示在每月的1日的凌晨2点调整任务 |
0 15 10 ? * MON-FRI | 表示周一到周五每天上午10:15执行作业 |
0 15 10 ? 6L 2002-2006 | 表示2002-2006年的每个月的最后一个星期五上午10:15执行作 |
0 0 10,14,16 * * ? | 每天上午10点,下午2点,4点 |
0 0/30 9-17 * * ? | 朝九晚五工作时间内每半小时 |
0 0 12 ? * WED | 表示每个星期三中午12点 |
0 0 12 * * ? | 每天中午12点触发 |
0 15 10 ? * * | 每天上午10:15触发 |
4、定时任务开启和关闭
5、定时任务执行日志