Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.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 在SpringXML中定义驼峰路由的优点和缺点是什么?_Java_Xml_Spring_Routes_Apache Camel - Fatal编程技术网

Java 在SpringXML中定义驼峰路由的优点和缺点是什么?

Java 在SpringXML中定义驼峰路由的优点和缺点是什么?,java,xml,spring,routes,apache-camel,Java,Xml,Spring,Routes,Apache Camel,目前,我试图深入了解Apache Camel。正如您所知,至少有两种方法来描述路由:JavaDSL和XML配置 Camel的开发人员建议使用javadsl,因为它有更好地集成到IDE中的好处。另一个好处是,您可以使用自己的代码丰富JavaDSL,而无需编写复杂的类结构。如果采用XML配置,这似乎是必要的 您认为在xml文件中定义路由的优点和缺点是什么?何时使用xml文件定义路由以及何时使用Java DSL?如果使用Java DSL,则可以利用IDE的重构工具和编译时检查 另一方面,如果使用xml

目前,我试图深入了解Apache Camel。正如您所知,至少有两种方法来描述路由:JavaDSL和XML配置

Camel的开发人员建议使用javadsl,因为它有更好地集成到IDE中的好处。另一个好处是,您可以使用自己的代码丰富JavaDSL,而无需编写复杂的类结构。如果采用XML配置,这似乎是必要的


您认为在xml文件中定义路由的优点和缺点是什么?何时使用xml文件定义路由以及何时使用Java DSL?

如果使用Java DSL,则可以利用IDE的重构工具和编译时检查


另一方面,如果使用xml文件,则可以在不重新部署应用程序的情况下外部化整个驼峰路由和重新路由内容。

这稍微取决于您的需求,但在几乎所有情况下,我更喜欢Java DSL,原因如下:

  • 比XML更高效、更灵活
  • 减少XML/Java文件之间的切换
  • 更易于可视化、管理、维护(通过等)
  • 支持内联
  • 更好地与IDE集成(代码完成和验证)
  • 更干净,更容易跟随

如果您开始使用spring,您很可能需要实现处理器或其他功能。在某些时候,您将需要自定义代码。 在此之后,在代码维护中混合了java和xml

除此之外,还有:

  • 类型安全
  • 汇编
为了最大限度地利用它,我还建议使用字符串最小化端点的配置。因此,不要以这种方式创建和配置端点:

from("file:/someFolder?delete=true")
我建议单独创建/配置端点:

Endpoint fileEndpoint= context.getEndpoint("file:" + folder.getPath(), FileEndpoint.class);
fileEndpoint.setDelete(true);
这比摆弄字符串更不容易出错