我可以在Camel中编写自己的处理器定义方法,并在我的路径中使用它,如下所示吗?
from(uri)
.to("http://host:port/testData")
.**setTimeOut(long milliseconds)**
from是在RouteDefinition中实现的 to在ProcessorDefinition中实现。就像那样,如果我想实现setTimeOut方法并在java DSL中使用它,我该怎么做?
PS:我不想将timeOut作为Httpclient查询参数传递给HttpUri。
有人可以为此提供帮助吗?
答案 0 :(得分:1)
不,你不能这样做。
您可以使用Java DSL的方法/ eips是固定的。要扩展这一点,需要扩展RouteBuilder
,以便为新的起始方法添加新方法。您无法添加可与setTimeOut
等一起使用的to
您需要将代码添加到camel-core,并重新编译它,这是不推荐的。
但是,您可以实现处理器,然后将其命名为setTimeout,然后使用.process
Processor setTimeout = new MySetTimeout(1000);
from
.to
.process(setTimeout);
然后将其用作.process
方法的处理器。