我需要尝试在JSF应用程序中创建和发送电子邮件,但如果遇到异常,请将电子邮件存储在数据库表中并定期检查此表(例如每10分钟)尝试再次发送电子邮件。
我有电子邮件工作,但想了解我应该尝试创建轮询服务的基本技术。我想的可能是一个@ApplicationScoped
bean,但我不确定如何创建一个每隔10分钟左右在bean中运行的进程。
任何建议表示赞赏。
答案 0 :(得分:0)
您没有准确指定您正在使用的环境,期望JSF。然而,你想要的东西听起来像某种预定的计时器。有几种方法可以实现这一目标:
如果您可以访问完整的Java EE堆栈,那么 Java EE Timer Service可能是最简单的方法。一个简单的注释,如@Schedule(minute="*/10", hour="*")
bean中的方法@Stateless
,将创建一个每十分钟执行一次的计时器。
另一个非常常用的库是Quartz,它可以做同样的事情。如果正在使用 Spring ,我建议使用Quartz到Spring。有关如何设置的帮助,请参阅official documentation。