我是一名Java EE开发人员,迄今为止一直使用Quartz等框架来调度任务。我发现Java EE 7提供了ManagedScheduledExecutorService来调度单个或重复的任务。由于我从未在实际项目中使用过这些新功能,我想知道是否仍然有使用Quartz(或其他框架)的优势,尤其是当你已经有一种可移植的方式来完成它时?
谢谢!
我是一名Java EE开发人员,迄今为止一直使用Quartz等框架来调度任务。我发现Java EE 7提供了ManagedScheduledExecutorService来调度单个或重复的任务。由于我从未在实际项目中使用过这些新功能,我想知道是否仍然有使用Quartz(或其他框架)的优势,尤其是当你已经有一种可移植的方式来完成它时?
谢谢!
我认为在未来的项目中,真的没有必要使用第三方库。Java EE 7充满了调度功能。除了新的ManagedScheduledExecutorService
之外,已经有了用于单个和周期性重复任务的Schedule
注释以及用于编程创建计时器的Timeout
注释。在我看来,新的托管计划服务更适合单个延迟任务或创建具有特定任务之间延迟的作业链。
您可以在Java EE 6或Java EE 7中了解有关Java EE计时器服务(Schedule
和Timeout
)的更多信息。
另外,如果您尝试对应用程序进行集群处理,则相对容易设置类似于Schedule
的计时器以全局运行,而不是每个节点运行一次 - 这是另一个优点。