打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
微服务架构Day12-SpringBoot之任务

异步任务

@EnableAsync

  • 在类上注解,开启异步任务功能

@Async

  • 在方法上注解,标记异步方法

定时任务

  • Spring提供了异步执行任务调度的方式
  • 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")-区间: -
@Scheduled(cron="0/4 * * * * MON-FRI")-步长: / 从0开始,每4秒启动一次
cron="0 0/5 14,18 * * ?"	每天14点整和18点整,每隔5分钟执行一次
cron="0 15 10 ? * 1-6"	  	每个月的周一至周六10:15分执行一次
cron="0 0 2 ? * 6L" 		每个月的最后一个周六2点执行一次
cron="0 0 2 LW * ?"			每个月的最后一个工作日2点执行一次
cron="0 0 2-4 ? * 1#1" 		每个月的第一个周一2点到4点,每个整点执行一次
  • cron表达式:
字段 允许值 允许特殊字符
0-59 , - * /
0-59 , - * /
小时 0-23 , - * /
日期 1-31 , - * ? / L W C
月份 1-12 , - * /
星期 0-7或SUN-SAT,0和7是SUN , - * /
特殊字符 含义
, 枚举
- 区间
* 任意
/ 步长
? 日和星期的冲突匹配
L 最后
w 工作日
C 与calendar联系后计算过的值
# 星期: 4#2-第2个星期三

邮件任务

  • 邮件发送引入spring-boot-starter-mail依赖
  • SpringBoot自动配置MailSenderAutoConfiguration
  • 定义MailProperties内容,配置在application.yml中
spring.mail.username=
spring.mail.password=(授权码)
spring.mail.host=(smtp服务器地址)
spring.mail.properties.mail.smtp.ssl.enable=true
  • 自动装配JavaMailSender
SimpleMailMessage mes=new SimpleMailMessage();

创建一个复杂消息邮件
MimeMessage mimeMes=mailSender.createMimeMessage();
MimeMessageHelper mimeHelper=new MimeMessageHelper(mimeMes,true(上传文件))
mimeHelper.addAttachment("fileName",new File("pathName"));
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
SpringBoot 定时任务动态管理通用解决方案
spring 定时任务@Scheduled
Spring Boot 如何快速实现定时任务
从零开始学 Java - Spring 使用 Quartz 任务调度定时器
SpringBoot为异步任务规划线程池及实现定时任务
springboot(九):定时任务
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服