我想在java中创建后台服务,我有一个定期检查数据库的功能。如果没有要发送的电子邮件,它将会休眠几分钟,如果有要发送的电子邮件,它将运行该功能并将电子邮件发送给用户。
我的问题是,我应该使用哪种方法:Schedule
或ExecutorService
以及使用它们有什么好处。
注意更新*
答案 0 :(得分:0)
如果您使用的是Java EE,那么@Schedule
注释应该可以轻松满足您的需求。它比管理ExecutorService
简单,并且不需要在应用程序容器中进行任何配置。
@Schedules ({
@Schedule(dayOfMonth="Last"),
@Schedule(dayOfWeek="Fri", hour="23")
})
public void doPeriodicCheck() { ... }
正如您所看到的,您还可以合并多个@Schedule
,因此对我来说它也比ExecutorService
更灵活。