Springboot中定時器的簡單使用


在定時器的類上添加注解:

@Component
@EnableAsync
@EnableScheduling

一、普通的定時器:

  每天15:10執行的定時器

  @Scheduled(cron="0 10 15 * * ?")   public void first() throws InterruptedException { System.out.println("第一個定時任務開始 : " + LocalDateTime.now().toLocalTime() + "\r\n線程 : " + Thread.currentThread().getName()); System.out.println(); Thread.sleep(1000 * 10); }

 

二、多線程定時器:

    @Async
    @Scheduled(fixedDelay = 2000)
    public void second() {
        System.out.println("第二個定時任務開始 : " + LocalDateTime.now().toLocalTime() + "\r\n線程 : " + Thread.currentThread().getName());
        ScheduledExecutorService scheduledThreadPool = Executors.newScheduledThreadPool(5);
        for (int i = 0; i < 10; i++) {
            scheduledThreadPool.schedule(new Runnable() {
                public void run() {
                    System.out.println("delay 3 seconds=========================="  +  Thread.currentThread().getId() + Thread.currentThread().getName());
                }
            }, 3, TimeUnit.SECONDS);
        }
    }

 

@Scheduled(cron=" ")    使用的cron表達式

推薦一個在線的cron表達式生成器 http://cron.qqe2.com/

cron表達式簡單學習 : https://blog.csdn.net/fanrenxiang/article/details/80361582

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM