Java 定期检查数据库

Java 定期检查数据库,java,service,timer,executorservice,schedule,Java,Service,Timer,Executorservice,Schedule,我想用java做一个后台服务,我有一个定期检查数据库的功能。如果没有要发送的电子邮件,它将休眠几分钟,如果有要发送的电子邮件,它将运行该功能并将电子邮件发送给用户 我的问题是,我应该使用哪种方法:Schedule或ExecutorService,使用它们有什么好处 注释更新* 我正在JavaEE中开发并使用JSF框架 如果您使用的是Java EE,那么@Schedule注释应该很容易满足您的需要。它只比管理ExecutorService简单,并且不需要在应用程序容器中进行任何配置 @Sched

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

我的问题是,我应该使用哪种方法:
Schedule
ExecutorService
,使用它们有什么好处

注释更新*

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

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

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

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

更灵活,我们需要更多的“上下文”。。。您的应用程序是JavaEE还是JavaSE版本的应用程序?这会有很大的变化。@lore我正在开发JavaEE并使用JSF框架,可能是