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中自动连接到指定SSID的Wi-Fi
    【转】多文件目录下makefile文件递归执行编译所有c文件
    Android NDK R9d 安装
    【转】第一个MiniGUI程序:模仿QQ界面
    FFmpeg缩放swscale详解 <转>
    【转】基于Qt, TUIO和TSLIB的嵌入式Linux下的多点触摸设计
    【转】TI-Davinci开发系列之六CCS5.2调试Linux内核
    【转】ffserver用法小结
    【转】Android HAL实例解析
    【转】DM8168图像处理Link
  • 原文地址:https://www.cnblogs.com/pinked/p/12386156.html
Copyright © 2011-2022 走看看