filter - Camel HeaderFilterStrategy CamelHttpQuery

标签 filter routes apache-camel

我有以下路线:

<route id="my-route">
   <from uri={{some.queue}}"/>   
   <to uri="bean:beanProcessor?method=processMethod"/>
   <to uri="{{a.nice.url}}?headerFilterStrategy=#myFilterStrategy"/>   
</route>

和这个 headerFilterStrategy:

<bean id="myFilterStrategy" class="org.apache.camel.impl.DefaultHeaderFilterStrategy">
    <property name="outFilter">
        <set>
            <value>camelhttpquery</value>
        </set>
    </property>
    <property name="lowerCase" value="true" />
</bean>

在处理器内部,CamelHttpQuery 设置为

 CamelHttpQuery=first=465546&second=312863&third=0

由于“myFilterStrategy”,我预计 CamelHttpQuery 将无法到达“a.nice.url”端点。然而确实如此。这怎么可能?

为了模拟“a.nice.url”,我加载了另一个 Camel 上下文,其中包含使用码头端点的路线。我在那里打印了 In header ,并且看到 CamelHttpQuery 就在那里。

最佳答案

Camel HeaderFilterStrategy用于将协议(protocol)头映射到camel消息或者从camel消息映射到协议(protocol)头时对消息头进行过滤。

对于camel-http组件,camel消息头可以映射为http头,但是由于camel-http使用CamelHttpQuery构建请求url,您仍然可以从http请求中获取Query参数。

关于filter - Camel HeaderFilterStrategy CamelHttpQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24781603/

相关文章:

python 等效于 filter() 获取两个输出列表(即列表的分区)

java - 模拟端点期望中的 Apache Camel : usage of ValueBuilder. ConvertTo

c# - 我的 MVC4 路由、参数、构造函数有什么问题?

ruby-on-rails - Rails,没有路线匹配{ :action= >"show"

http - 如何使用 apache camel 将消息发送到多个目的地?

java - Camel会自动生成SOAP消息吗?

Symfony2 : onKernelResponse called twice as MASTER_REQUEST

mongodb - 如何使用 MongoDB 过滤子文档中的数组

spring - 在过滤器内调用另一个 Spring 微服务是否正确?

Azure SQL 托管实例路由表