zoukankan      html  css  js  c++  java
  • Java SpringBoot Scheduled定时任务

    package task.demo.controller;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    import task.demo.service.AsyncService;
    
    import java.time.LocalDateTime;
    import java.time.format.DateTimeFormatter;
    
    @RestController
    public class AsyncController {
        @Autowired
        AsyncService asyncService;
    
        @RequestMapping("/hello")
        public Object hello() {
            //@EnableAsync  //注解方式开启异步支持
            String date1 = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
            System.out.println(date1);
            asyncService.hello();
            String date2 = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
            System.out.println(date2);
            return "success";
        }
    
        /**
         *  定时任务
         * @return
         */
        @RequestMapping("/scheduledHello")
        public Object scheduledHello() {
            //@EnableScheduling //注解方式开启定时任务支持
            asyncService.scheduledHello();
            return "scheduledHello";
        }
    }
    
    package task.demo.service;
    
    import org.springframework.scheduling.annotation.Async;
    import org.springframework.scheduling.annotation.Scheduled;
    import org.springframework.stereotype.Service;
    
    import java.time.LocalDateTime;
    import java.time.format.DateTimeFormatter;
    
    @Service
    public class AsyncService {
    
        /**
         * 异步任务
         */
        @Async
        public void hello() {
            try {
                Thread.sleep(3000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("开始执行");
        }
    
        /**
         * 定时任务  每两秒执行一次
         * cron表达式在线生成 http://cron.qqe2.com/
         * 秒 分 时 日 月 周
         */
        @Scheduled(cron = "0/2 * * * * *")
        public void scheduledHello() {
            String date1 = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
            System.out.println("定时任务执行了 " + date1);
        }
    }
    

      

  • 相关阅读:
    android 多线程
    Uva 10881 Piotr’s Ants 蚂蚁
    LA 3708 Graveyard 墓地雕塑 NEERC 2006
    UVa 11300 Spreading the Wealth 分金币
    UVa 11729 Commando War 突击战
    UVa 11292 The Dragon of Loowater 勇者斗恶龙
    HDU 4162 Shape Number
    HDU 1869 六度分离
    HDU 1041 Computer Transformation
    利用可变参数函数清空多个数组
  • 原文地址:https://www.cnblogs.com/smartsmile/p/11641741.html
Copyright © 2011-2022 走看看