我正在为一个新项目选择Quartz Scheduler。我之前使用过Quartz,并使用XML作业文件对其进行了配置。现在我查看当前的Quartz文档,所有示例都是代码片段。 XML作业文件是否已弃用?我应该在代码中进行作业调度和配置吗?
答案 0 :(得分:1)
非java人总是说java过于以XML为中心:)。我会说这取决于许多事情。你是否使用其他java框架,比如说Spring?如果是这样,你是否已经放弃了基于XML的配置?这也是摆脱石英XML配置的一个论据。
外部配置文件的一个优点是,在编译语言中,不需要编译来更改作业配置(因此可以由非开发人员完成)。可以简单地更新相应的配置文件并重新启动应用程序。
这有多正确取决于您的应用的部署方式。通常,所有应用程序工件的部署都是作为构建过程的一部分发生的(如果您使用maven创建战争并推送到服务器或git存储库)。因此,为工作单独配置可能不是一个优势。
但是,我可以想象一个应用程序部署到支持mbeans之类的容器,这样你就可以提供一个简单的管理界面来安排你的工作。您可以让业务人员以最小的努力和对代码库的影响来控制计划。
如果使用基于代码的配置,则无法在不重新编译和重新部署的情况下更改作业的计划。您可以通过某种方式外部化设置来实现,但之后您只需重新创建外部配置文件。