在開發的過程中,有時候需要java實現job功能,定時開啟或者每個一段時間重複一個任務。
本文就寫一個簡單的java job功能
1.首先需要job的執行內容寫出來。job類需要繼承java.util.TimerTask類
import java.util.TimerTask;public class TestJob extends TimerTask{@Overridepublic void run() { System.out.println("執行今天的任務"); }}
繼承後需要實現run()方法,開起來有點像線程方法,其實也就是開了一個線程來執行job內容,TImerTask實現的是Runnable介面。
2.任務類完成後,需要建立一個計時器來監控你設定開始任務的時間,到某個時間或者每隔一段時間執行任務
Timer類就可以完成計時的功能,Timer類的shedule可以執行job任務。
Timer timer=new Timer();timer.schedule(TimerTask task,Date time);timer.schedule(TimerTask task,long delay);timer.schedule(TimerTask task,Date firstTime,long period);timer.schedule(TimerTask task,long delay,long period);
Test:測試程式
實現從零時開始,每天都執行任務
public static void main(String[] args) {Timer timer = new Timer();Calendar date = Calendar.getInstance();date.set(Calendar.HOUR_OF_DAY, 0);date.set(Calendar.MINUTE, 0);date.set(Calendar.SECOND, 0);date.set(Calendar.MILLISECOND, 0);timer.schedule(new TestJob(), date, 1000*60*60*24);}