如何在java中的特定时间执行代码

时间:2013-10-07 05:23:05

标签: java java-ee timer

我要求说我想在没有任何事件的情况下执行邮件代码,但是在指定的时间到来时,该代码将执行并且邮件必须发送。

package com.uttara.reg;
import java.util.TimerTask;
public class Timer extends TimerTask {
    @Override
    public void run() {
        // TODO Auto-generated method stub

    }

}

我无法理解如何调用计时器类

有人可以帮助我! 提前致谢

3 个答案:

答案 0 :(得分:2)

你可以尝试一些事情

1:定时器类

2:TimerTask类

3:石英

4:Cron

5:计划程序

或者如果你有一个非常简单的要求那么

第1步:创建一个线程来获取时间

第2步:在线程中保存

if(time_by_thread == time_want_to_execute)
{
//execute your timer code here
}

答案 1 :(得分:0)

查看Timer和Scheduler类。

答案 2 :(得分:0)

您可以按如下方式使用Timer:

    Timer timer = new Timer(); 
    timer.schedule(new TimerTask() {
       @Override
       public void run() {
       // Your code
       }
    }, your delay);

或者

// creating timer task, timer
      TimerTask tasknew = new TimerScheduleDelay();
      Timer timer = new Timer();

      // scheduling the task at interval
      timer.schedule(tasknew, 100);      
   }

   // this method performs the task
   public void run() {
      System.out.println("timer working");      
   }

这应该与Java EE应用服务器分开。您可以使用Quartz,或操作系统计划任务,或批处理管理器,即AutoSys,但将其实现到servlet对我来说不是优选和有用的。 Java EE有一个可以使用它的TimerService。