如何在每天的部分时间(早上10点)使用jsp / servlet自动发送电子邮件

时间:2017-06-08 12:55:00

标签: java tomcat java-ee

我希望每天在特定时间使用j2ee自动发送电子邮件,如果tomcat服务器处于启动模式,则从数据库中获取数据

3 个答案:

答案 0 :(得分:1)

您可以尝试使用cron job

<强> Main.java

public class Main{
   public static void main(String[] args){

     Timer t = new Timer();
     YourTask yourTask= new YourTask();
enter code here
     // This task is scheduled to run every 5 seconds

     t.scheduleAtFixedRate(yourTask, 0, 5000);
   }

}

YourTask

class YourTask extends TimerTask{

   public YourTask (){
     //Some stuffs
   }

   @Override
   public void run() {
//TODO
Your business logic
   }

}

如上面的代码所示,您可以调用特定持续时间的业务逻辑。

在这里,我以5秒的间隔调用了特定的业务逻辑。

计时器 timer TimerTask timertask

答案 1 :(得分:0)

您可以使用quartz-scheduler等第三方库来安排任务。

Here您可以查看示例,如何创建每天执行的触发器。

 trigger = newTrigger()
    .withIdentity("trigger3", "group1")
    .startNow()
    .withSchedule(dailyAtHourAndMinute(15, 0)) // fire every day at 15:00
    .build();

答案 2 :(得分:0)

使用ScheduledExecutorService或下面提到的第三方库,如Quartz

private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
 scheduler.scheduleAtFixedRate(yourRunnable, 8, 8, TimeUnit.HOURS);