【发布时间】:2017-06-08 12:55:00
【问题描述】:
如果tomcat服务器处于开启模式,我想通过从数据库中获取数据在每天的特定时间使用j2ee自动发送电子邮件
【问题讨论】:
-
这不是 jsp/servlet 的用途。了解石英
-
任务完成,谢谢大家
标签: java tomcat jakarta-ee
如果tomcat服务器处于开启模式,我想通过从数据库中获取数据在每天的特定时间使用j2ee自动发送电子邮件
【问题讨论】:
标签: java tomcat jakarta-ee
您可以尝试使用 cron 作业
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);
}
}
你的任务
class YourTask extends TimerTask{
public YourTask (){
//Some stuffs
}
@Override
public void run() {
//TODO
Your business logic
}
}
如上代码所示,你可以调用你的特定时长的业务逻辑。
在这里,我每隔 5 秒调用一次特定的业务逻辑。
【讨论】:
您可以使用quartz-scheduler 等第三方库来安排您的任务。
Here你可以查看示例,如何创建每天执行的触发器。
trigger = newTrigger()
.withIdentity("trigger3", "group1")
.startNow()
.withSchedule(dailyAtHourAndMinute(15, 0)) // fire every day at 15:00
.build();
【讨论】:
使用 ScheduledExecutorService 或如下所述的第三方库,如 Quartz
private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
scheduler.scheduleAtFixedRate(yourRunnable, 8, 8, TimeUnit.HOURS);
【讨论】: