定时触发

我现在要做一个java程序。要求要再每天的一个固定时间触发一个批处理程序。请问各位大侠,要用怎么样才能实现了?实现的思路是什么?如果方便给小弟一个例子,最好详细一点。感激不尽!!

[b]问题补充:[/b]
我是个初学者,大哥们能不能把代码示例给我一个啊 :P

第二种方案示例代码如下:

[code="java"]
import java.util.Timer;
import java.util.TimerTask;

/**

  • Simple demo that uses java.util.Timer to schedule a task to execute
  • once 5 seconds have passed. */

public class Reminder {
Timer timer;

public Reminder(int seconds) {
    timer = new Timer();
    timer.schedule(new RemindTask(), seconds*1000);
}

class RemindTask extends TimerTask {
    public void run() {
        System.out.println("Time's up!");
        timer.cancel(); //Terminate the timer thread
    }
}

public static void main(String args[]) {
    System.out.println("About to schedule task.");
    new Reminder(5);
    System.out.println("Task scheduled.");
}

}
[/code]

你可以根据你的需求改改。

自己写个系统task

Plz ref to java.util.TimerTask

  1. 你可以通过操作系统的定时任务来搞定,比如Linux下面的crontab。

  2. java.util.TimerTask:也能搞定,但是控制稍微差一点。

  3. Quartz:这个Java后台脚本框架,实现的不错,可以用一下。

第一种方案,你就写一个main函数(main函数里面完成你要做的任务),然后让操作系统来定期执行你这个main函数(具体可以参照不同的系统的说明)。

第三种方案可以看一下下面这篇文章:

[url]http://www.blogjava.net/pdw2009/archive/2006/07/18/58747.html[/url]

最好是和Spring集成起来搞。