我想将CamelUtils类与方法setProperty
一起使用public final class CamelUtils {
public static void setProperty(Exchange exchange, String name, Object value) {
exchange.setProperty(name, value);
}
}
我想在骆驼路线中使用它,如
<route>
<from uri="direct:hello">
<to uri="CamelUtils.setProperty(exhange, strName, strValue)"/>
... use property anyhow
</route>
我怎么能让它发挥作用?
我找到了在XML DSL中设置属性的正确方法:
<setProperty propertyName="propName"><simple>${body.someField}</simple></setProperty>
答案 0 :(得分:2)
如果没有使用参数,则默认传递交换。 您可以为其他参数设置两个标题,然后使用
<from uri="direct:hello">
<setHeader headerName="name">
<constant>name</constant>
</setHeader>
<setHeader headerName="value">
<constant>value</constant>
</setHeader>
<to uri="bean:mypackage.CamelUtils?method=setProperty"/>
然后在方法
中public static void setProperty(Exchange exchange, @Header("name") String name, @Header("value") Objectvalue) {
exchange.setProperty(name, value);
}