创建@ApplicationScoped计划流程的最佳方式

时间:2013-06-24 20:07:44

标签: java jsf scheduled-tasks

我需要尝试在JSF应用程序中创建和发送电子邮件,但如果遇到异常,请将电子邮件存储在数据库表中并定期检查此表(例如每10分钟)尝试再次发送电子邮件。

我有电子邮件工作,但想了解我应该尝试创建轮询服务的基本技术。我想的可能是一个@ApplicationScoped bean,但我不确定如何创建一个每隔10分钟左右在bean中运行的进程。

任何建议表示赞赏。

1 个答案:

答案 0 :(得分:0)

您没有准确指定您正在使用的环境,期望JSF。然而,你想要的东西听起来像某种预定的计时器。有几种方法可以实现这一目标:

如果您可以访问完整的Java EE堆栈,那么

Java EE Timer Service可能是最简单的方法。一个简单的注释,如@Schedule(minute="*/10", hour="*") bean中的方法@Stateless,将创建一个每十分钟执行一次的计时器。

另一个非常常用的库是Quartz,它可以做同样的事情。如果正在使用 Spring ,我建议使用Quartz到Spring。有关如何设置的帮助,请参阅official documentation

相关问题