定期检查数据库

时间:2018-06-18 08:06:13

标签: java service timer executorservice schedule

我想在java中创建后台服务,我有一个定期检查数据库的功能。如果没有要发送的电子邮件,它将会休眠几分钟,如果有要发送的电子邮件,它将运行该功能并将电子邮件发送给用户。

我的问题是,我应该使用哪种方法:ScheduleExecutorService以及使用它们有什么好处。

注意更新*

  • 我在JavaEE中开发并使用JSF框架

1 个答案:

答案 0 :(得分:0)

如果您使用的是Java EE,那么@Schedule注释应该可以轻松满足您的需求。它比管理ExecutorService简单,并且不需要在应用程序容器中进行任何配置。

@Schedules ({
   @Schedule(dayOfMonth="Last"),
   @Schedule(dayOfWeek="Fri", hour="23")
})
public void doPeriodicCheck() { ... }

正如您所看到的,您还可以合并多个@Schedule,因此对我来说它也比ExecutorService更灵活。