以下是用例:
我正在使用Java(使用Spring)
一旦用户(通过网络应用程序)确认订阅,我想在30分钟后向他发送电子邮件。
现在怎么做?我需要消息代理吗?或者像ScheduledExecutorService这样的东西? 我需要某种排队吗?
请告知。
答案 0 :(得分:4)
可以查看quartz scheduler。
顺便提一下,一个常见的策略是每30分钟左右批量发送大量所有待处理的邮件。 Quartz也可以帮助你做到这一点。
答案 1 :(得分:2)
您可以使用Quartz Scheduler。它相当容易使用。你可以每周或每30分钟安排一些事情,或基本上你想要的任何事情。
答案 2 :(得分:1)
为Timer
创建一个对象 private Timer myTimer;
主要方法中的
myTimer = new Timer();
myTimer.schedule(new TimerTask() {
@Override
public void run() {
//your method
}
}, 0, 200);
答案 3 :(得分:0)
发送邮件后线程不会死亡。配置Quartz时,将自动创建一个新线程,并在指定的时间间隔内执行分配的任务。否则你也使用Timer类。这是非常容易使用。
Timer timer = new Timer(); // Get timer
long delay = 30 * 60 * 1000; // 3o min delay
// Schedule the two timers to run with different delays.
timer.schedule(new MyTask(), 0, delay);
...................
class MyTask extends TimerTask {
public void run() {
// business logic
// send mail here
}
}