나는 다음과 같은 경로가 있습니다낙타 HeaderFilterStrategy CamelHttpQuery
<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
내가 때문에 기대로 설정되어 프로세서 내부를 CamelHttpQuery가 "a.nice.url"엔드 포인트에 도달하지 않을 "myFilterStrategy" 그러나 그것은 그렇다. 이것이 어떻게 가능한지?
"a.nice.url"을 조롱하려면 부두 종점을 사용하는 다른 낙타 환경을로드했습니다. In 헤더를 인쇄하면 CamelHttpQuery가 있음을 알 수 있습니다.
CamelHttpQuery의 헤더를 필터링하려면 기본 HttpHeaderFilterStrategy가 필요합니다. "Camel"로 시작하는 메시지 헤더를 필터링합니다. –
필자는 왜 구현에서 CamelHttpQuery를 필터링하지 않는지 이해하고 싶습니다. 나는 또한 어떻게 든 메시지에 넣어지는 실제 쿼리 매개 변수를 필터링하지 않는다는 것을 알게되었습니다. CamelHttpQuery 헤더가 동일한 경로에있는 BeanProcessor 내부에서 작성 되었기 때문입니까? – ampofila