如果引用或轉貼,麻煩註明出處與本網誌連結,否則視為侵權。

2005年11月24日

[超基本] Java Timer程式範例

分成三部分TimerService class程式, 被TimerService 定時驅動執行的程式, 啟動,停止或設定Timer Service的JSP程式

程式一 TimerService class程式

import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
public class TimerService {
Timer timer = new Timer();
public TimerService() { };

public void start() throws Exception {

Calendar date = Calendar.getInstance();
date.setTime(new Date());
date.add(Calendar.DAY_OF_MONTH,1); // 驅動此程式的後一天
date.set(Calendar.AM_PM,Calendar.AM); // 上午
date.set(Calendar.HOUR,11); // 11點
date.set(Calendar.MINUTE,0); // 0分
date.set(Calendar.SECOND,0); // 0秒
date.set(Calendar.MILLISECOND,0); // 0毫秒

// timer.schedule(param1,param2,param3)
// param1: 就是要定時驅動執行的程式
// param2: 設定開始執行的時間,如上面的Calendar設定
// param3: 執行間隔時間(單位: 毫秒)
timer.schedule(
new DailyRun(),
date.getTime(),
1000 * 60 * 60 * 24
);
} // end of method

public void stop() throws Exception {
timer.cancel();
} // end of method
} // end of class

程式二 被TimerService 定時驅動執行的程式
public class DailyRun extends TimerTask {
public DailyRun() {
}

public void run() {
// 這裡是要執行的程式內容
} // End of method

} // end of class



另外要寫一支JSP來啟動與關閉Timer Service, 或者可以將執行時間與間隔透過JSP進行設定

相關文章:  使用標準的Java Timer API執行Scheduled Job



1 則留言:

  1. 請問這個有課成可以上嗎?謝謝!
    alan6165@gmail.com

    回覆刪除

歡迎提供意見, 謝謝 (註 : 留言經過版主審核通過才會發布)