1

考虑以下:

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,一切都在一行中。这些是唯一的优点/缺点还是还有其他需要考虑的?

我看到的几乎所有示例都使用了 URI 方法——这有充分的理由吗?

4

1 回答 1

0

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

总体而言,Camel 的一个主要优点是利用其简洁的 DSL 路由功能在一个地方(路由)描述流程/交互。路由定义越程序化,这些定义就越冗长/展开......

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

于 2013-09-03T03:53:23.503 回答