【问题标题】:Quartz vs Java EE 7 schedulerQuartz 与 Java EE 7 调度程序
【发布时间】:2023-03-14 16:28:01
【问题描述】:
我是一名 Java EE 开发人员,迄今为止一直使用 Quartz 等框架来安排任务。我可以看到 Java EE 7 具有 ManagedScheduledExecutorService 来安排单个或重复任务。由于我从未在实际项目中使用过这个新功能,我想知道当你有一种可移植的方式时,使用 Quartz(或其他)是否还有优势?
谢谢!
【问题讨论】:
标签:
jakarta-ee
quartz-scheduler
java-ee-7
【解决方案1】:
我相信在未来的项目中,真的不需要使用第三方库了。 Java EE 7 充满了调度功能。除了新的ManagedScheduledExecutorService 之外,还有用于单个和周期性重复任务的Schedule 注释和用于以编程方式创建计时器的Timeout 注释。 IMO 新的托管计划服务更适合单个延迟任务或创建具有特定任务之间延迟的作业链。
您可以找到有关 Java EE 计时器服务(Schedule 和 Timeout)Java EE 6 或 Java EE 7 的更多信息。
附带说明一下,如果您曾经尝试将应用程序集群化,那么设置类似Schedule 的计时器以在全局范围内运行而不是每个节点一次运行相对容易 - 这是另一个优势。