在 Java DSL 中为 apache 骆驼路线编写自定义方法

Writing Custom methods in Java DSL for apache camel routes

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

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

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

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

任何人都可以帮忙吗?

不,你不能这样做。

您可以从 Java DSL 中使用的方法/eips 已修复。要扩展它需要扩展 RouteBuilder 允许将新方法添加到新的起始方法。您不能添加可以与 to 等一起使用的 setTimeOut,等等

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

不过你可以实现一个处理器,然后命名为setTimeout,然后使用.process

Processor setTimeout = new MySetTimeout(1000);

from
  .to
  .process(setTimeout);

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