l Spring boot? 定時任務? (共3種方式定時)
l? import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling
public class Application {
??? public static void main(String[] args) {
??????? SpringApplication.run(Application.class, args);
??? }
}
?
Java 定時任務。?
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class Jobs {
??? public final static long ONE_Minute =? 60 * 1000;
??? @Scheduled(fixedDelay=ONE_Minute)
??? public void fixedDelayJob(){//多少分鐘執行一次,而fixedDelay是當任務執行完畢后1分鐘在執行
??????? System.out.println(Dates.format_yyyyMMddHHmmss(new Date())+" >>fixedDelay執行....");
??? }
??? @Scheduled(fixedRate=ONE_Minute)
??? public void fixedRateJob(){
??????? //多少分鐘執行一次fixedRate就是每多次分鐘一次,不論你業務執行花費了多少時間。都是1分鐘執行1次
??????? System.out.println(Dates.format_yyyyMMddHHmmss(new Date())+" >>fixedRate執行....");
??? }
??? @Scheduled(cron="0 15 3 * * ?")
??? public void cronJob(){
??????? //而還有一類定時任務,比如是每天的3點15分執行,那么我們就需要用另外一種方式:cron表達式
??????? //cron一共有7位,但是最后一位是年,可以留空,所以我們可以寫6位
??????????????? //* 第一位,表示秒,取值0-59
??????????????? // * 第二位,表示分,取值0-59
??????????????? //* 第三位,表示小時,取值0-23
??????????????? //* 第四位,日期天/日,取值1-31
??????????????? //* 第五位,日期月份,取值1-12
?????????????? //* 第六位,星期,取值1-7,星期一,星期二...,注:不是第1周,第二周的意思 另外:1表示星期天,2表示星期一。
?????????????? //* 第7為,年份,可以留空,取值1970-2099
??????? System.out.println(Dates.format_yyyyMMddHHmmss(new Date())+" >>cron執行....");
??? }
}
?
?
?