博客
关于我
SpringBoot-Web-异步、定时、邮件任务
阅读量:272 次
发布时间:2019-03-01

本文共 2985 字,大约阅读时间需要 9 分钟。

异步任务

按照调用顺序执行任务

在这里插入图片描述

开启异步任务

@Async 在异步任务上使用异步注解

@EnableAsync 在主程序上开启异步注解功能
在这里插入图片描述

定时任务

在要定时执行的的方法上通过@Scheduled,写好corn表达式,指定定时任务执行的频率

  • 不要其他方式的调用,写好corn表达式,开启注解,启动主程序就可以了
@Servicepublic class MyService {       //秒   分   时     日   月   周几    @Scheduled(cron = "0 12 15 * * 0-7")    public void hello(){           System.out.println("定时任务");    }}
  • 在主程序开启定时任务功能
//开启基于注解的定时任务@EnableScheduling @SpringBootApplicationpublic class Springboot05Application {       public static void main(String[] args) {           SpringApplication.run(Springboot05Application.class, args);    }}

常用的corn表达式

(1)0/2 * * * * ?   表示每2秒 执行任务(1)0 0/2 * * * ?   表示每2分钟 执行任务(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触发

链接: .

邮件任务

发送一个简单邮件

  1. 导入依赖
org.springframework.boot
spring-boot-starter-mail
  1. 编写配置文件 application.properties
spring.mail.username=2500813866@qq.comspring.mail.password=kxhfocyyrnmuecif#qq就qq.com#网易就163.com#新浪就sina.comspring.mail.host=smtp.qq.com# 如果使用qq,还需要开启加密验证,其他的邮箱不需要# 键值对 mail.smtp.ssl.enable:truespring.mail.properties.mail.smtp.ssl.enable=true
  1. 注入一个邮箱发送实现类(不需要自己编写),添加邮箱标、内容和发送人
class MyMail {       @Resource    JavaMailSenderImpl mailSender;    @Test    void sendmail() {           //kxhfocyyrnmuecif        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();        simpleMailMessage.setSubject("你好");        simpleMailMessage.setText("这是一封邮件的内容");        simpleMailMessage.setTo("2440545145@qq.com");        simpleMailMessage.setFrom("2500813866@qq.com");        mailSender.send(simpleMailMessage);    }}

在这里插入图片描述

发送一个复杂邮件(携带附件)

  • 基于简单邮件的1和2不用更改
@Test    void sendMail() throws MessagingException {           MimeMessage mimeMessage = mailSender.createMimeMessage();        //组装        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);        //正文        helper.setSubject("这是一封复杂的邮件");        helper.setText("

你猜我是什么颜色

",true); //附件 helper.addAttachment("1.jpg",new File("C:\\Users\\Desktop\\clipboard.png")); //目的邮箱和发送邮箱 helper.setTo("2440545145@qq.com"); helper.setFrom("2500813866@qq.com"); mailSender.send(mimeMessage); }

在这里插入图片描述

  • 可以把复杂邮件的方法封装成一个工具类

转载地址:http://gffa.baihongyu.com/

你可能感兴趣的文章
ngrok | 内网穿透,支持 HTTPS、国内访问、静态域名
查看>>
ngrok内网穿透可以实现资源共享吗?快解析更加简洁
查看>>
ngrok内网穿透可以实现资源共享吗?快解析更加简洁
查看>>
NHibernate学习[1]
查看>>
NHibernate异常:No persister for的解决办法
查看>>
Nhibernate的第一个实例
查看>>
nid修改oracle11gR2数据库名
查看>>
NIFI1.21.0/NIFI1.22.0/NIFI1.24.0/NIFI1.26.0_2024-06-11最新版本安装_采用HTTP方式_搭建集群_实际操作---大数据之Nifi工作笔记0050
查看>>
NIFI1.21.0_java.net.SocketException:_Too many open files 打开的文件太多_实际操作---大数据之Nifi工作笔记0051
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_插入时如果目标表中已存在该数据则自动改为更新数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0058
查看>>
NIFI1.21.0_Mysql到Mysql增量CDC同步中_补充_更新时如果目标表中不存在记录就改为插入数据_Postgresql_Hbase也适用---大数据之Nifi工作笔记0059
查看>>
NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
查看>>
NIFI1.21.0_Postgresql和Mysql同时指定库_指定多表_全量同步到Mysql数据库以及Hbase数据库中---大数据之Nifi工作笔记0060
查看>>
NIFI1.21.0最新版本安装_连接phoenix_单机版_Https登录_什么都没改换了最新版本的NIFI可以连接了_气人_实现插入数据到Hbase_实际操作---大数据之Nifi工作笔记0050
查看>>
NIFI1.21.0最新版本安装_配置使用HTTP登录_默认是用HTTPS登录的_Https登录需要输入用户名密码_HTTP不需要---大数据之Nifi工作笔记0051
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增加修改实时同步_使用JsonPath及自定义Python脚本_03---大数据之Nifi工作笔记0055
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_插入修改删除增量数据实时同步_通过分页解决变更记录过大问题_01----大数据之Nifi工作笔记0053
查看>>
NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
查看>>