Java7Web服务调度器实现建议

Java7Web服务调度器实现建议,java,timer,task,java-7,scheduler,Java,Timer,Task,Java 7,Scheduler,我知道有许多用于调度器的框架以及JDK自己的调度器。我不能使用任何第三方框架/API。现有的调度程序仅使用JavaAPI。详情如下:- public class Timer implements Runnable { private Thread runner; private int pause; private Task task; private boolean running; public Timer(int pause, Task

我知道有许多用于调度器的框架以及JDK自己的调度器。我不能使用任何第三方框架/API。现有的调度程序仅使用JavaAPI。详情如下:-

    public class Timer implements Runnable {

    private Thread runner;
    private int pause;
    private Task task;
    private boolean running;

    public Timer(int pause, Task task) {
        this.pause = pause;
        this.task = task;
        runner = new Thread(this, "Timer");
    }

    public void run() {
        try {
          while (running) {
            task.run(); // long running task
            synchronized (runner) {
                runner.wait(pause);
            }
        }
    } catch (InterruptedException ie) {
        /* The user probably stopped the */
    }
 }
接口和类:-

public interface Task {

    void run();
 }

public class TaskManager implements Task {

private static boolean firstRun = true;
private static Timer timer;
private static String lastRun;


public static void start(int interval) {

    // stop any previous
    if (timer != null) {
        timer.stopTimer();
        timer = null;
    }

    // Start a new one
    TaskManager taskManager = new TaskManager ();
    timer = new Timer(interval * 1000, taskManager );
    timer.startTimer();
}    


  public void run() {
  // long running code
  }

public void setDelay(int p) {
    pause = p;
}

public void startTimer() {
    running = true;
    runner.start();
}

public void stopTimer() {
    running = false;
    runner.interrupt();
  }
}
从Servlet我称之为:

private void startTaskManager() {
    TaskManager.start(30);
}
我的要求是它将在run()方法的线程中执行任务。有许多任务将从数据库中一个接一个地选取

上述实施存在一些问题。在上面的实现中,它有自己的接口任务和自己的定时器

我认为还有另一种更好的方法来实现这个调度程序。请推荐我