java - 定期检查数据库
问题描述
我想用java做一个后台服务,我有一个定期检查数据库的功能。如果没有要发送的电子邮件,它将休眠几分钟,如果有要发送的电子邮件,它将运行该功能并将电子邮件发送给用户。
我的问题是,我应该使用哪种方法:Schedule
或者ExecutorService
如果我使用它们有什么好处。
注意更新*
- 我正在使用 JavaEE 开发并使用 JSF 框架
解决方案
如果您使用的是 Java EE,那么@Schedule
注释应该很容易满足您的需求。它只是比管理更简单ExecutorService
,并且不需要在应用程序容器中进行任何配置。
@Schedules ({
@Schedule(dayOfMonth="Last"),
@Schedule(dayOfWeek="Fri", hour="23")
})
public void doPeriodicCheck() { ... }
如您所见,您还可以组合多个@Schedule
,所以对我来说它也比ExecutorService
.
推荐阅读
- javascript - 如何在给定 X 值组合的情况下生成排列
- css - 从个人资料页面隐藏一些个人资料信息 - Lamba 主题
- windows - 为什么 pyspark 在 cmd 启动期间在 Windows 上生成错误
- serialization - 如何提高 Jackson objectMapper 反序列化性能?
- google-cloud-platform - 尝试使用 TFX 运行非常简单的 Kubeflow 管道时,为什么 GKE 集群上的 pod 会 OOMkilled?
- flutter - 如何通过在 Flutter 中尊重它们的大小来重叠小部件?
- wordpress - 整个网站给出 404,因为无法打开 .htaccess 并且权限被拒绝
- javascript - 边距在 Safari 中不起作用:绝对 div
- typescript - 我有一个 Typescript NPM 模块,如何防止用户从错误的路径自动导入?
- python - 标头信息与数组不匹配。删除字符参数