Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我应该使用Quartz XML作业文件还是使用代码配置作业_Java_Xml_Quartz Scheduler - Fatal编程技术网

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

Java 我应该使用Quartz XML作业文件还是使用代码配置作业,java,xml,quartz-scheduler,Java,Xml,Quartz Scheduler,我正在接一个新项目的石英调度器。我以前使用过Quartz,并使用XML作业文件对其进行了配置。现在我看一下当前的Quartz文档,所有的示例都是代码片段。XML作业文件是否已弃用?我应该用代码进行作业调度和配置吗?非java人士总是说java太以XML为中心了:)。我想说这取决于很多事情。您是否使用其他java框架,比如Spring?如果是这样,您是否已经不再使用基于XML的配置了?这也将成为石英不再使用XML配置的理由 外部配置文件的优点之一是,在编译语言中,更改作业配置不需要编译(因此可以由

我正在接一个新项目的石英调度器。我以前使用过Quartz,并使用XML作业文件对其进行了配置。现在我看一下当前的Quartz文档,所有的示例都是代码片段。XML作业文件是否已弃用?我应该用代码进行作业调度和配置吗?

非java人士总是说java太以XML为中心了:)。我想说这取决于很多事情。您是否使用其他java框架,比如Spring?如果是这样,您是否已经不再使用基于XML的配置了?这也将成为石英不再使用XML配置的理由

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

这是否正确取决于应用程序的部署方式。通常,所有应用程序构件的部署都是作为构建过程的一部分进行的(如果您与maven创建了一场战争,并将其推送到服务器或git存储库)。因此,为作业提供单独的配置可能不是真正的优势

然而,我可以想象一个应用程序部署到一个支持MBean之类的容器中,这样您就可以提供一个简单的管理界面来调度您的作业。您可以允许业务人员控制进度,只需对代码库进行最小的努力和影响

如果使用基于代码的配置,如果不重新编译和重新部署,将无法更改作业的计划。您可以通过某种方式将设置外部化来实现这一点,但之后您将只是重新创建外部配置文件