zoukankan      html  css  js  c++  java
  • 任务

    任务

    异步任务

    service

    @Service
    public class AsyncService {
    	//告诉spring这是个异步方法
        @Async
        public void hello(){
            try {
                //模拟3秒数据处理
                Thread.sleep(3000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("数据处理中");
        }
    }
    

    controller

    @RequestMapping("/hello")
    public String hello(){
        asyncService.hello();
        return "ok";
    }
    

    主程序上开启异步支持

    @EnableAsync
    

    邮箱任务

    依赖

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>
    

    配置

    spring:
      mail:
        username: 邮箱
        password: 授权码
        #QQ邮箱为信箱服务器
        host: smtp.qq.com
        #QQ邮箱需要设置ssl加密
        properties:
          mail:
            smtp:
              ssl:
                enable:
                  true
    

    测试

    @Autowired
    JavaMailSenderImpl mailSender;
    
    @Test
    void contextLoads() {
        //简单邮件
        SimpleMailMessage message = new SimpleMailMessage();
        
        message.setSubject("主题");
        message.setText("正文");
        message.setFrom("发件人@qq.com");
        message.setTo("收件人@qq.com");
        
        mailSender.send(message);
    }
    
    @Test
    void contextLoads2() throws MessagingException {
        //复杂邮件
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
        
        helper.setSubject("主题");
        helper.setText("<p style='color:red'>正文</p>", true);
        helper.addAttachment("1.jpg", new File("文件地址"));
        helper.setFrom("发件人@qq.com");
        helper.setTo("收件人@qq.com");
        
        mailSender.send(mimeMessage);
    }
    

    定时功能

    主程序开启定时功能

    @EnableScheduling
    

    service

    @Service
    public class ScheduledService {
        //cron 表达式 秒 分 时 日 月 星期几 年(年可以省略)
        @Scheduled(cron = "0/2 * * * * ?")//每两秒一次
        public void hello(){
            System.out.println("hello方法执行了");
        }
    }
    
  • 相关阅读:
    Android开发与Sequoyah的安装问题
    Discuz 数据库各表的作用
    jQuery-File-Upload $(...).fileupload is not a function $.widget is not a function
    phpstorm xdebug 无法断点调试问题
    Android Service 启动流程
    Discuz! 全局变量说明
    Discuz! X3 数据表、数据字段说明
    Spring Boot 搭建
    Android组件化开发(注意事项)
    NestedScrollView嵌套RecycleView发生的小问题
  • 原文地址:https://www.cnblogs.com/pinked/p/12386156.html
Copyright © 2011-2022 走看看