【问题标题】:Writing Custom methods in Java DSL for apache camel routes在 Java DSL 中为 apache 骆驼路由编写自定义方法
【发布时间】:2015-04-30 18:54:56
【问题描述】:

我可以在 Camel 中编写自己的处理器定义方法并在我的路线中使用它吗?

from(uri)
.to("http://host:port/testData")
.**setTimeOut(long milliseconds)**

from 在 RouteDefinition 和 to 在 ProcessorDefinition 中实现。像这样,如果我想实现 setTimeOut 方法并在 java DSL 中使用它,我该怎么做?

PS:我不想将 timeOut 作为 Httpclient 查询参数传递给 HttpUri。

有人可以帮忙吗?

【问题讨论】:

    标签: java apache-camel dsl


    【解决方案1】:

    不,你不能这样做。

    您可以在 Java DSL 中使用的方法/eips 是固定的。要扩展它需要扩展RouteBuilder,它允许将新方法添加到新的启动方法。您不能添加可以与to 等一起使用的setTimeOut

    您需要将代码添加到camel-core,然后重新编译,不建议这样做。

    但是你可以实现一个处理器,然后将它命名为setTimeout,然后使用.process

    Processor setTimeout = new MySetTimeout(1000);
    
    from
      .to
      .process(setTimeout);
    

    然后将其用作.process 方法中的处理器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-17
      • 2023-01-28
      相关资源
      最近更新 更多