異步任務
@EnableAsync
@Async
定時任務
- Spring提供了異步執(zhí)行任務調(diào)度的方式
- Spring提供了TaskExecutor,TaskScheduler接口
- 兩個注解:
- @EnableScheduling:在類上注解,開啟定時任務功能
- @Scheduled: 在方法上注解,標記定時任務方法
second(秒),minute(分),hour(時),day of month(日),month(月),day of week(周幾)
0 * * * * MON-FRI
@Scheduled(cron="0 * * * * MON-FRI")
@Scheduled(cron="1,2,3 * * * * MON-FRI")-枚舉: ,
@Scheduled(cron="0-15 * * * * MON-FRI")-區(qū)間: -
@Scheduled(cron="0/4 * * * * MON-FRI")-步長: / 從0開始,每4秒啟動一次
cron="0 0/5 14,18 * * ?" 每天14點整和18點整,每隔5分鐘執(zhí)行一次
cron="0 15 10 ? * 1-6" 每個月的周一至周六10:15分執(zhí)行一次
cron="0 0 2 ? * 6L" 每個月的最后一個周六2點執(zhí)行一次
cron="0 0 2 LW * ?" 每個月的最后一個工作日2點執(zhí)行一次
cron="0 0 2-4 ? * 1#1" 每個月的第一個周一2點到4點,每個整點執(zhí)行一次
字段 |
允許值 |
允許特殊字符 |
秒 |
0-59 |
, - * / |
分 |
0-59 |
, - * / |
小時 |
0-23 |
, - * / |
日期 |
1-31 |
, - * ? / L W C |
月份 |
1-12 |
, - * / |
星期 |
0-7或SUN-SAT,0和7是SUN |
, - * / |
特殊字符 |
含義 |
, |
枚舉 |
- |
區(qū)間 |
* |
任意 |
/ |
步長 |
? |
日和星期的沖突匹配 |
L |
最后 |
w |
工作日 |
C |
與calendar聯(lián)系后計算過的值 |
# |
星期: 4#2-第2個星期三 |
郵件任務
- 郵件發(fā)送引入spring-boot-starter-mail依賴
- SpringBoot自動配置MailSenderAutoConfiguration
- 定義MailProperties內(nèi)容,配置在application.yml中
spring.mail.username=
spring.mail.password=(授權(quán)碼)
spring.mail.host=(smtp服務器地址)
spring.mail.properties.mail.smtp.ssl.enable=true
SimpleMailMessage mes=new SimpleMailMessage();
創(chuàng)建一個復雜消息郵件
MimeMessage mimeMes=mailSender.createMimeMessage();
MimeMessageHelper mimeHelper=new MimeMessageHelper(mimeMes,true(上傳文件))
mimeHelper.addAttachment("fileName",new File("pathName"));
|