Java 基於quartz實現定時 之一(注解方式配置)


需要在項目里,導入quartz.jar

package cn.zr.pringmvctest.trigger;

import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
@Configuration
@EnableAsync
@EnableScheduling
public class TriggerClass {
    /**
     * initialDelay=5000 初始化5s執行方法
     * fixedDelay=2000 該方法的執行周期為2s
     */
    @Scheduled(initialDelay=5000,fixedDelay=2000)
    public void doSomething() {
        System.out.println("do some thing...");
    }
    
    /*****
     * 格式: [秒] [分] [小時] [日] [月] [周] [年]
        0 0 12 * * ?           每天12點觸發
        0 15 10 ? * *          每天10點15分觸發
        0 15 10 * * ?          每天10點15分觸發 
        0 15 10 * * ? *        每天10點15分觸發 
        0 15 10 * * ? 2005     2005年每天10點15分觸發
        0 * 14 * * ?           每天下午的 2點到2點59分每分觸發
        0 0/5 14 * * ?         每天下午的 2點到2點59分(整點開始,每隔5分觸發) 
        0 0/5 14,18 * * ?        每天下午的 18點到18點59分(整點開始,每隔5分觸發)
        
        0 0-5 14 * * ?            每天下午的 2點到2點05分每分觸發
        0 10,44 14 ? 3 WED        3月分每周三下午的 2點10分和2點44分觸發
        0 15 10 ? * MON-FRI       從周一到周五每天上午的10點15分觸發
        0 15 10 15 * ?            每月15號上午10點15分觸發
        0 15 10 L * ?             每月最后一天的10點15分觸發
        0 15 10 ? * 6L            每月最后一周的星期五的10點15分觸發
        0 15 10 ? * 6L 2002-2005  從2002年到2005年每月最后一周的星期五的10點15分觸發
        
        0 15 10 ? * 6#3           每月的第三周的星期五開始觸發
        0 0 12 1/5 * ?            每月的第一個中午開始每隔5天觸發一次
        0 11 11 11 11 ?           每年的11月11號 11點11分觸發(光棍節)
     */
    @Scheduled(cron="0 0-15 20 * * ?")
    public void doSomeWork(){
        System.out.println("do some work om time......");
    }
}

 


免責聲明!

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



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