gpt4 book ai didi

使用 Quartz Scheduler 的 Java Web 应用程序中的电子邮件通知和提醒

转载 作者:行者123 更新时间:2023-12-05 00:38:59 24 4
gpt4 key购买 nike

我想开发一个简单的 Java Web 应用程序,以便在某些任务完成后发送电子邮件通知,例如提交审批请求和定期提醒(即审批人)。我想使用 Quartz Scheduler 来做到这一点。我是新手,所以任何人都可以帮助我开始这个。

提前致谢。

我将 JAR 文件:quartz-1.8.0 复制并粘贴到 WEB-INF\lib 甚至 common\lib 中,然后在我的 Java 文件中导入时找不到它。 :(

最佳答案

创建一个从 web-app init 开始的 servlet。

<web-app>
...
<servlet>
<servlet-name>Emailer</servlet-name>
<servlet-class>my.servlet.Emailer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
...
</web-app>

在 servlet 的 init() 中配置您的调度程序(下面的示例每 10 分钟触发一次)

SchedulerFactory schFact = new org.quartz.impl.StdSchedulerFactory();
Scheduler sched = schFact.getScheduler();
JobDetail job = new JobDetail("job1", "group1", EmailerJob.class);
CronTrigger trigger = new CronTrigger("trigger1", "group1", "job1", "group1", "* 0/10 * * * ?");
sched.addJob(job, true);
sched.start();

写一个类实现Quartz的Job接口(interface)。

EmailerJob implement Job{
public void execute(JobExecutionContext arg0) throws JobExecutionException {
//Code to send mails goes here
}

}

P.S. 上面的代码未经测试,但它可以让您清楚地知道该怎么做。

正如 @jmort253 正确指出的那样,Quartz 教程是最好的 资源,如果我没记错的话,他们在其中某处完成了一个预定的电子邮件示例。


更新

好的,Google 来解决您的问题。这是任何人都可以为您提供的最详细的解决方案! Java – Job Scheduling in web application with quartz API

Edit#1 您可以使用 ContextListener 而不是 servlet 来启动 Quartz 调度程序。


更新 1

正如@jhouse 正确提到的,与其编写自己的处理邮件的 Job,不如询问 Quartz 预定义的 SendMailJob类做同样的事情。谢谢@jhouse。

关于使用 Quartz Scheduler 的 Java Web 应用程序中的电子邮件通知和提醒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4905671/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com