我希望每天在特定时间使用j2ee自动发送电子邮件,如果tomcat服务器处于启动模式,则从数据库中获取数据
答案 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秒的间隔调用了特定的业务逻辑。
答案 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);