zoukankan      html  css  js  c++  java
  • SpringBoot与任务

    异步任务

    在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在 处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用 多线程来完成此类任务,其实,在Spring 3.x之后,就已经内置了@Async来完 美解决这个问题。

    应用场景

    在公众号的运营过程中,典型的事件包括:

    发送短信验证码

    购买成功或者抽奖成功短信通知

    卡券或优惠券发放

    发放微信红包

    微信消息通知

    订单流程处理

    定时批处理(比如数据同步)

    工作流性质的异步任务(未完成异步任务补偿)
    异步调用的经典业务场景

    两个注解

    @EnableAysnc:启动微服务的异步注解功能
    @Aysnc:标记这个服务为异步服务



    运行结果
    会先执行方法hello2
    过3秒后执行异步任务hello

    定时任务

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

    两个注解

    @EnableScheduling 开启基于注解的定时任务
    @Scheduled 标注当前服务为定时任务

    on the second, minute, hour, day of month, month, and day of week.
    


    ‘*’:表示为每

    • 0 0 * * * MON-SAT(表示周一到周五的每一整点都会运行该任务)
    • 0,1,2,3,4 * * * * *(每天的每分钟的前五秒都会执行该程序)
    • 0-4 * * * * *(0到4秒每一秒都会启动)
    • 0/4 * * * * * (从0s启动每四秒执行一次)
    • 0 15 10 ?* 1-6(每个月的周一至周六10:15分执行一次)
    • 0 0 2 ? * 6L(每个月的最后一个周六凌晨2点执行一次)
    • 0 0 2 LW * ?(每个月的最后一个工作日凌晨2点执行一次)L;最后一个,W:工作日
    • 0 0 2-4 ? * 1#1(每个月的第一周凌晨2点到4点期间,每个整点都执行一次)

    springJob的详细链接
    springboot的定时任务使用

    邮件任务

    --在qq邮箱中获取授权码

    设置->账户

    • 邮件发送需要引入启动器spring-boot-starter-mail
    <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>
    
    • Spring Boot 自动配置MailSenderAutoConfiguration
    • 定义MailProperties内容,配置在application.yml中
    • 自动装配JavaMailSender
    在application.properties中配置
    spring.mail.username=邮箱
    spring.mail.password=授权码
    spring.mail.host=smtp.qq.com//qq服务器地址
    spring.mail.properties.mail.smtp.ssl.enable=true
    

    简单的邮箱发送

    复杂的邮箱发送


    通过html也可以设计超链接

    如果报错显示需要安全的连接,比如ssl
    需要配置ssl安全链接
    spring.mail.properties.mail.smtp.ssl.enable=true

  • 相关阅读:
    OpenGL红宝书例3.1 -- glBufferSubData使用
    JNI调用问题(部分机型崩溃)
    文件编码转换工具
    vs2013安装visual assist和viemu之后提示功能等无效解决
    cocos2d-lua SDK接入
    OpenGL中shader读取实现
    CURL C++网络延时或者最低网速下载设置
    Spring框架
    软件安装方式
    Web前端常见问题
  • 原文地址:https://www.cnblogs.com/psyduck/p/14025954.html
Copyright © 2011-2022 走看看