4

我正在尝试使用的人

{
from("direct:a").to (someUrl).processor(new Processor(){

   @Override
   public void process(Exchange arg0) throws Exception
   {
      // do something
   }

});


where someUrl is of the type http://xyz.com/{id}?test=<value1>&test1=<value2>
}

并且这个 url 会随着对路由的每个请求而改变。

我已经尝试过了。将参数作为标题传递并尝试使用 header("test") 和使用 ${in.header.test} 访问路由似乎都不起作用。

任何建议都会很有帮助。

4

3 回答 3

6

从骆驼 2.16 你可以做这样的事情 -

from("direct:start")   
   .toD("${header.foo}");

参考:http ://camel.apache.org/message-endpoint.html

于 2016-04-13T04:32:00.870 回答
4

请参阅有关 Camel 中动态端点的此常见问题解答:https ://camel.apache.org/manual/latest/faq/how-to-use-a-dynamic-uri-in-to.html

于 2013-02-25T17:43:08.957 回答
2

您可以使用骆驼属性占位符

http://camel.apache.org/using-propertyplaceholder.html

<camelContext trace="false" xmlns="http://camel.apache.org/schema/spring">
    <propertyPlaceholder location="config/AuditJMSConfig.properties" id="properties" />
    <route id="crudRoute">
        <from uri="activeMQ:queue:{{speedwing.activemq.auditqueue}}/>
    </route>                                                                                    where speedwing.activemq.auditqueue is the property name defined in the peroperties file.

你可以用同样的<to uri="" also

于 2014-01-24T07:47:44.797 回答