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

須要在項目裏,導入quartz.jarspring

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......");
    }
}
相關文章
相關標籤/搜索