java - 我应该使用 Quartz XML 作业文件还是使用代码配置作业

标签 java xml quartz-scheduler

我正在为一个新项目选择 Quartz Scheduler。我以前使用过 Quartz,并使用 XML 作业文件配置它。现在我查看当前的 Quartz 文档,所有示例都是代码片段。 XML 作业文件是否已弃用?我应该在代码中进行作业调度和配置吗?

最佳答案

非 Java 人士总是说 Java 太以 XML 为中心了:)。我想说这取决于很多事情。你使用其他java框架吗,比如Spring?如果是这样,您是否已放弃基于 XML 的配置?这也是放弃quartz XML 配置的一个论据。

外部配置文件的优点之一是,在编译语言中,无需编译即可更改作业配置(因此非开发人员也可以完成)。只需更新相应的配置文件并重新启动应用程序即可。

这有多真实取决于您的应用程序的部署方式。通常,所有应用程序工件的部署都是作为构建过程的一部分发生的(如果您使用 Maven 创建 war 并推送到服务器或 git 存储库)。因此,为这项工作进行单独的配置可能并不是真正的优势。

但是,我可以想象一个应用程序部署到支持 mbean 之类的容器,以便您可以提供一个简单的管理界面来安排您的作业。您可以允许业务人员控制日程安排,并且对您的代码库的影响最小。

如果您使用基于代码的配置,则在不重新编译和重新部署的情况下将无法更改作业的计划。您可以通过某种方式外部化设置来做到这一点,但那样您就只是重新发明外部配置文件。

关于java - 我应该使用 Quartz XML 作业文件还是使用代码配置作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30683409/

相关文章:

java - 如何使用 spring IDE 查看 spring 项目的类图

C# - 当站点上没有事件时,Quartz 调度程序停止运行

java - 当 quartz 作业触发时,它是一个新的作业类实例吗?

java - 如何在我的第二个 Activity 中将图像上传到 Firebase 存储?

java - 如何在java中准备带有可选子句的SQL查询?

java - 多个线程访问同一个文件

java - 可以使用 Java 打开 SSH 隧道吗?

java - 验证 XML 是否为 DOM 文档

c# - 如何将属性添加到标有 XmlArrayAttribute 的集合中?

java - Quartz - 基于作业变量的关闭调度程序