Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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
Apache camel 将端点定义为URI而不是以编程方式定义它时,有哪些优点/缺点?_Apache Camel - Fatal编程技术网

Apache camel 将端点定义为URI而不是以编程方式定义它时,有哪些优点/缺点?

Apache camel 将端点定义为URI而不是以编程方式定义它时,有哪些优点/缺点?,apache-camel,Apache Camel,考虑以下几点: public class MyRouteBuilder extends RouteBuilder { @Override public void configure() throws Exception { FileEndpoint dropLocation = new FileEndpoint(); dropLocation.setCamelContext(getContext()); dropLocation.setFile(ne

考虑以下几点:

public class MyRouteBuilder extends RouteBuilder {

  @Override
  public void configure() throws Exception {
      FileEndpoint dropLocation = new FileEndpoint();
      dropLocation.setCamelContext(getContext());
      dropLocation.setFile(new File("/data"));
      dropLocation.setRecursive(true);
      dropLocation.setPreMove(".polled");
      dropLocation.setNoop(true);
      dropLocation.setMaxMessagesPerPoll(1);

      from(dropLocation).to(...

public class MyBuilder extends RouteBuilder {

  @Override
  public void configure() throws Exception {
      from("file://data?recursive=true&preMove=.polled&noop=true&maxMessagesPerPoll=1").to(...
在编程上,我得到了代码完成等等,而在URI中,一切都在一行中。这些是唯一的利弊吗?还是有其他人要考虑?< / P>
我看到的几乎所有示例都使用了URI方法——这有很强的原因吗?

通常,您依赖组件来创建端点实例(通过路由定义),但如果希望与遗留代码集成,通过类结构/实例创建端点等,则可以通过编程实现

总的来说,Camel的一个主要优点是利用其简洁的DSL路由功能在一个地方(路由)描述所有流程/交互。路由定义的程序化程度越高,这些定义就越详细/分散

总的来说,我更喜欢URI方法,因为它更简洁,更容易理解,并且很好地在一个地方操作路由参数……否则,这完全是一个偏好/风格的决定