SpringBoot中如何整合定时任务和邮件任务
发表于:2024-09-30 作者:千家信息网编辑
千家信息网最后更新 2024年09月30日,这篇文章主要讲解了"SpringBoot中如何整合定时任务和邮件任务",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"SpringBoot中如何整合定时任
千家信息网最后更新 2024年09月30日SpringBoot中如何整合定时任务和邮件任务
这篇文章主要讲解了"SpringBoot中如何整合定时任务和邮件任务",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"SpringBoot中如何整合定时任务和邮件任务"吧!
定时任务
项目开发中经常需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息。Spring为我们提供了异步执行任务调度的方式
提供 :
TaskExecutor 任务调度这
TaskScheduler 任务执行者 两个注解:
@EnableScheduling// 开启定时任务功能
@Scheduled //表示什么时候执行
cron表达式:
字段 允许值 允许的特殊字符
秒 0-59 - * /
分 0-59 - * /
小时 0-23 - * /
日期 1-12或JAN-DEC - * ? / L W C 月份 0-59 - * /
星期 1-7或SUN-SAT - * ? / L C #
cron表达式例子:
(0)0/20 * * * * ? 表示每20秒 调整任务 (1)0 0 2 1 * ? 表示在每月的1日的凌晨2点调整任务 (2)0 15 10 ? * MON-FRI 表示周一到周五每天上午10:15执行作业 (3)0 15 10 ? 6L 2002-2006 表示2002-2006年的每个月的最后一个星期五上午10:15执行作 (4)0 0 10,14,16 * * ? 每天上午10点,下午2点,4点 (5)0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时 (6)0 0 12 ? * WED 表示每个星期三中午12点 (7)0 0 12 * * ? 每天中午12点触发 (8)0 15 10 ? * * 每天上午10:15触发 (9)0 15 10 * * ? 每天上午10:15触发 (10)0 15 10 * * ? * 每天上午10:15触发 (11)0 15 10 * * ? 2005 2005年的每天上午10:15触发 (12)0 * 14 * * ? 在每天下午2点到下午2:59期间的每1分钟触发 (13)0 0/5 14 * * ? 在每天下午2点到下午2:55期间的每5分钟触发 (14)0 0/5 14,18 * * ? 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 (15)0 0-5 14 * * ? 在每天下午2点到下午2:05期间的每1分钟触发 (16)0 10,44 14 ? 3 WED 每年三月的星期三的下午2:10和2:44触发 (17)0 15 10 ? * MON-FRI 周一至周五的上午10:15触发 (18)0 15 10 15 * ? 每月15日上午10:15触发 (19)0 15 10 L * ? 每月最后一日的上午10:15触发 (20)0 15 10 ? * 6L 每月的最后一个星期五上午10:15触发 (21)0 15 10 ? * 6L 2002-2005 2002年至2005年的每月的最后一个星期五上午10:15触发 (22)0 15 10 ? * 6#3 每月的第三个星期五上午10:15触发
测试
@Servicepublic class task { // 秒 分 时 日 月 周几 @Scheduled(cron = "0 17 18 * * ?") public void test(){ System.out.println("这个是定时任务,现在的时间是:"+new Date()); }}
邮件任务
邮件发送需要引入spring-boot-starter-mail
org.springframework.boot spring-boot-starter-mail
定义MailProperties内容,配置在application.yml中
spring.mail.username=wangmeng@XXX.comspring.mail.password=EXHFOVQXOTZUKWSLspring.mail.host=smtp.163.com#开启加密验证spring.mail.properties.mail.smtp.ssl.enable=true
测试邮件发送
@Autowired private JavaMailSenderImpl javaMailSender; @Test void contextLoads() { SimpleMailMessage simpleMailMessage=new SimpleMailMessage(); simpleMailMessage.setSubject("这是SpringBoot集成mail,发送的第一个邮件"); simpleMailMessage.setText("你好,你好,你好,你好!"); simpleMailMessage.setTo("mengwangq@XXXX.com","jhwucc@XXX.com"); simpleMailMessage.setFrom("wangmeng@XXX.com"); javaMailSender.send(simpleMailMessage); } @Test void Test() throws Exception { MimeMessage mimeMessage = javaMailSender.createMimeMessage(); MimeMessageHelper helperMessage = new MimeMessageHelper(mimeMessage, true,"utf-8"); helperMessage.setSubject("今日工作进展"); helperMessage.setText("今日工作汇报,详情请查看附件
"); // 附件 helperMessage.addAttachment("今日工作进展.docx", new File("D:\\usr\\local\\工作日报.docx")); helperMessage.setTo("mengwangq@XXXX.com"); helperMessage.setFrom("wangmeng@XXXXX.com"); javaMailSender.send(mimeMessage); }
感谢各位的阅读,以上就是"SpringBoot中如何整合定时任务和邮件任务"的内容了,经过本文的学习后,相信大家对SpringBoot中如何整合定时任务和邮件任务这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
任务
邮件
星期
点到
工作
整合
你好
内容
学习
小时
时间
表达式
附件
测试
调度
调整
进展
验证
特殊
三个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
h2数据库旧数据怎么删掉
用友数据库导入金蝶
计算机网络技术结构图
服务器架构教程
佳能相机网络安全密钥
数据库操作不允许保存更改
萧山区app软件开发
平台网络技术服务
西安电子科技大学互联网公开课
多台服务器可以串联吗
浙商银行软件开发怎么样
长江证券软件开发怎么样
数据库物流实训报告
吉林信息化软件开发创意
4.19网络安全措施
国家网络安全新闻发布会直播
南京江宁比较好的软件开发公司
小学网络安全活动方案
mysql 数据库参数
多玩数据库真银胸甲
网络安全检索表达式
服务器主机名称
c 触摸屏软件开发
网络安全技术需求分析怎么写
路由器网络技术论文
乐都热血三国服务器
服务器客户端实时交互
sql2005建本地数据库
db2数据库远程连接
电脑网络安全模式什么意思