我正在为一个新项目选择 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/