如何设置骆驼处理器或其他路线成分的ID

时间:2015-02-18 07:59:00

标签: apache-camel

Camel自动为处理器和其他东西(processor1..processor25)生成id。有没有办法设置这个名字?我们需要通过jmx识别某些处理器以获取遥测数据。

我想要设置的名称是通过属性给出的 - 它们在开始时间是已知的。所以我需要在定义路由时或在处理器内设置它们(名称通过处理器构造函数给出,字符串也用于处理)。

更新

示例:对于路由from("some:where").process(myProcessor).to(no:where),我需要设置myProcessor的id。我需要" ExchangesTotal"和来自某些处理器的其他东西

我需要Java DSL中的解决方案。

1 个答案:

答案 0 :(得分:12)

如果使用xml,则使用id属性。

<to id="foo" uri="seda:foo"/>

如果使用java代码,则使用.id

.to("seda:bar").id("foo");

一个特殊的方法是设置路线的ID,您必须使用.routeId

from("xxx").routeId("id of the route")
   .to("xxx")

所以你的例子应该是

from("some:where").process(myProcessor).id("theIdOfTheProcessorYouWant").to(no:where)