博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
31、springboot与任务
阅读量:7223 次
发布时间:2019-06-29

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

异步任务

测试如下:
进行等待三秒在进行应答
@Servicepublic class AsynService {    public void hello(){        try {            Thread.sleep(3000);        } catch (InterruptedException e) {            e.printStackTrace();        }        System.out.println("处理数据.....");    }}

 

 controller类:

@Controllerpublic class AsynController {    @Autowired    AsynService asynService;    @ResponseBody    @RequestMapping("/hello")    public String hello(){        asynService.hello();        return "success";    }}

此时会有三秒的等待响应时间!!!!

 

但是如果工程量大的话,这样会比较麻烦

@Servicepublic class AsynService {    //告诉spring这是一个异步的方法    @Async    public void hello(){        try {            Thread.sleep(3000);        } catch (InterruptedException e) {            e.printStackTrace();        }        System.out.println("处理数据.....");    }}

 

开启方法:

@EnableAsync@SpringBootApplicationpublic class TaskApplication {    public static void main(String[] args) {        SpringApplication.run(TaskApplication.class, args);    }}
执行时 会立即响应  但是打印输出会在三秒之后

 

 

定时任务

项目开发中经常需要执行一些定时任务
比如凌晨时候,分析一个前一天的日志信息
Spring为我们提供了异步执行任务调度的方式
提供了TaskExecutor、TaskScheduler接口

cron属性:
*代表全部

 

定时做打印操作:

@Servicepublic class ScheduleService {    //cron:second、minute、hour、day of mounth、day of week    @Scheduled(cron ="0 * * * * MON-SAT" )    public void hello(){        System.out.println("定时处理");    }}

 

 开启注解:

//开启定时任务@EnableScheduling@SpringBootApplicationpublic class TaskApplication {    public static void main(String[] args) {        SpringApplication.run(TaskApplication.class, args);    }}

 

 

 在任意分钟的0-10s进行打印

@Scheduled(cron = "0-10 * * * * 0-7")public void hello(){    System.out.println("定时处理");}

 

 

 

 

 邮件任务

-邮寄发送需要引入spring-boot-starter-mail
-Springboot 自动配置MailSenderAutoConfiguration
-定义MailProperties内容,配置在application.yml中
-自动装配JavaMailSender
-测试邮件的发送

 

 

自动配置的类

 

 

@ConfigurationProperties(    prefix = "spring.mail")public class MailProperties {    private static final Charset DEFAULT_CHARSET;    private String host;    private Integer port;    private String username;    private String password;    private String protocol = "smtp";    private Charset defaultEncoding;    private Map
properties; private String jndiName;...}

 

 

配置文件:

spring.mail.username=1287221322@qq.com#授权码spring.mail.password=keoszgbsssddbaadspring.mail.host=smtp.qq.comspring.mail.properties.mail.smtp.ssl.enable=true

 

 

host:

 

测试代码:

简单邮件

@AutowiredJavaMailSenderImpl javaMailSender;@Testpublic void contextLoads() {    SimpleMailMessage msg = new SimpleMailMessage();    //邮件设置    msg.setSubject("猪头");    msg.setText("你就是猪头哦!!");    msg.setTo("xxxxxxxxx@qq.com");    msg.setFrom("12872213xx@qq.com");    javaMailSender.send(msg);}
测试中邮件是可以成功发送的!!!

 

 复杂的邮件测试:

 

@Testpublic void test1() throws MessagingException {    //创建复杂邮件    MimeMessage msg = javaMailSender.createMimeMessage();    //上传文件    MimeMessageHelper helper = new MimeMessageHelper(msg,true);    //邮件设置    helper.setSubject("pig");    helper.setText("pig..... ",true);    helper.setTo("3212393029@qq.com");    helper.setFrom("12872213xx@qq.com");    //上传文件    helper.addAttachment("319898.jpg",new File("D:\\Tools\\319898.jpg"));    javaMailSender.send(msg);}

 

 

html的设置等都可以显示,图片的上传!!!

 

转载于:https://www.cnblogs.com/Mrchengs/p/10460602.html

你可能感兴趣的文章
《数论概论(原书第4版)》一第3章 勾股数组与单位圆
查看>>
Spark的那些外部框架
查看>>
《策略驱动型数据中心——ACI技术详解》一第1章 数据中心架构考虑因素1.1 应用和存储...
查看>>
《I'm a Mac:雄狮训练手册》——1.13 帮助
查看>>
模板or定制 企业如何抉择建站方式?
查看>>
《Python编程快速上手——让繁琐工作自动化》——1.6 程序剖析
查看>>
Linux中的15个‘echo’ 命令实例
查看>>
《Unreal Engine 4蓝图可视化编程》一2.2 制作瞄准镜效果
查看>>
《树莓派用户指南(第3版)》——1.5 关于Model B的PCB版本修订历史
查看>>
《WebGL入门指南》——第1章,第1.3节WebGL原生API
查看>>
《树莓派Python编程入门与实战(第2版)》——3.5 关于Python交互式shell
查看>>
《Android安全技术揭秘与防范》—第2章2.2节安全的发展趋势
查看>>
《AngularJS高级程序设计》——5.6 使用JavaScript运算符
查看>>
Storm入门之附录B
查看>>
vnStatSVG: 流量监控软件 vnStat 最佳 Web 前端
查看>>
《Python数据分析》一2.2 创建多维数组
查看>>
《C++面向对象高效编程(第2版)》——1.5 什么可以作为类
查看>>
《UML用户指南(第2版.修订版)》—第2章2.4节软件开发生命周期
查看>>
《师兄教你找工作——100场面试 20个offer背后的求职秘密》一2.5 那些老生常谈的问题...
查看>>
人类基因编辑国际峰会周琪院士谈基因编辑的未来
查看>>