SpringBoot-任务
1、异步任务
在Application上
1
2
3
4/**
* @EnableAsync:开启异步注解
*/异步处理
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class AsyncService {
/**
* 告诉Spring这是一个异步的
*/
public void hello(){
try{
Thread.sleep(3000);
}catch (InterruptedException e){
e.printStackTrace();
}
System.out.println("处理数据中");
}
}
2、定时任务
在Application上
1
2
3
4/**
* @EnableScheduling:开启定时任务注解
*/定时任务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class ScheduredService {
/**
* cron
* 秒,分,时,日,月,周
* 0 * * * * MON-FRI(从周一到周五任意时刻整秒启动)
* [0 0/5 14,18 * * ?]每天14点整和18点整,每隔5分钟执行一次
* [0 15 10 ? * 1-6]每个月的周一至周六10:15分执行一次
* [0 0 2 ? * 6L]每个月的最后一个周六凌晨2点执行一次
* [0 0 2 LW * ?]每个月的最后一个工作日凌晨2点执行一次
* [0 0 2-4 ? * 1#1]每个月的第一个周一凌晨2点到4点期间,每个整点执行一次
*/
//@Scheduled(cron = "0 * * * * MON-SAT")
//@Scheduled(cron = "0,1,2,3,4 * * * * MON-SAT")
//@Scheduled(cron = "0-4 * * * * MON-SAT")
//@Scheduled(cron = "0/4 * * * * MON-SAT") // 每4秒执行一次
public void hello(){
System.out.println("hello...");
}
}cron表达式:
字段 允许值 -- 秒 0-59 ,-*/ 分 0-59 ,-*/ 小时 0-23 ,-*/ 日期 1-31 ,-*?/LWC 月份 1-12 ,-*/ 星期 0-7或SUN-SAT 0,7是SUN ,-*?/LC# ,:枚举
-:区间
*:任意
/:步长
?:日/星期冲突匹配
L:最后
W:工作日
C:和calendar联系后计算过的值
#:星期,4#2,第2个星期四
3、邮件任务
导入依赖
1
2
3
4<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>配置
1
2
3
4email@qq.com =
????????? =
smtp.qq.com =
true =测试
1 |
|