我知道我可以为特定的端点设置HeaderFilterStrategy,但是...

如何用一种适用于所有路由的自定义策略来覆盖DefaultHeaderFilterStrategy

我们正在使用Camel的Servlet侦听器。 我们可以在配置中提供某些东西(在此处记录) ,用我们自己的类替换DefaultHeaderFilterStrategy吗?

#1楼 票数:1 已采纳

您可以创建自己的HeaderFilterStrategy类的实现,并在端点配置中引用它

<lang:groovy id="MyHeaderFilter">
    <lang:inline-script>
        import org.apache.camel.Exchange
        import org.apache.camel.spi.HeaderFilterStrategy

        class MyHeaderFilter implements HeaderFilterStrategy {
            public boolean applyFilterToCamelHeaders(String headerName, Object headerValue, Exchange exchange) {
                return false
            }
            public boolean applyFilterToExternalHeaders(String headerName, Object headerValue, Exchange exchange) {
                return !(headerName in ['desirableHeaderName'])
}
        }
    </lang:inline-script>
</lang:groovy>

接着

<to uri="activemq:dummy?headerFilterStrategy=#MyHeaderFilter"/>

UPD。
也可以为整个组件设置自定义标题过滤器

<bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
  <property name="headerFilterStrategy" ref="MyHeaderFilter"/>
</bean>

  ask by Darius X. translate from so

未解决问题?本站智能推荐:

1回复

apachecamelexpression${}何时替换为值

在什么时候Apache骆驼会替换$ {}中的表达式并将其替换为实际值? 我正在使用spring dsl编写我的路线。 例如溃败。
1回复

阿帕奇骆驼:替换功能

我想在Apache骆驼中使用替换功能,但是有麻烦。 这是我的代码: 和我的愿望输出是这样的: 我使用以下代码进行转换: 但问题不是显示双引号,实际上我得到了: 我也使用了“,但没有用。 提前致谢
1回复

默认URI替换

我正在从使用 Camel File Component 指定的文件夹中获取一个文件,并且 mlcp 自动将文件名注入到默认 URI 中,但我不想要该文件名当我将文件放在D:/Camel ,文件名为test_1.xml mlcp 会生成一个 URI /D:/Camel/test_1.xml .
1回复

Camel代理和替换Exchange主体

我已经为服务创建了一个代理。 在代理(请求类型为TypeA )和实际服务(请求类型为TypeB )之间有一个处理器。 进入process(Exchange exchange)方法的 Exchange 主体是TypeA 。 我可以使用以下代码行访问数据 现在,我想将此信息更改为TypeB 。 我正在使
1回复

骆驼:如何动态替换输出文件路径位置?

这是我的路线: 这是我的处理器: 当我尝试根据输入文件名动态更改输出路径时。 它对我不起作用。似乎问题出在' <to uri="file://{{property.FinalPath}}" /> '有人可以帮我解决这个问题吗?
2回复

骆驼测试用原路线直接替换色达

骆驼测试,直接替换色达。 例如,在我的骆驼路线测试中,我想将seda通话替换为Direct 我的使用者应该是“ direct:Second_route_id”,而不是“ seda:Second_route_id” 以下是我的原始路线 我试图做类似的事情
3回复

在Camelv2.16.0中替换DeprecatedbeanRef()

我们正在从Camel v2.13升级到v2.16,并发现beanRef()已被标记为已弃用。 Apache Camel推荐的替代品/替代品是什么? 我无法在Camel v2.16.0文档站点上找到任何有用的东西。 甚至还没有更新的例子。 beanRef()是Camel的Java DSL
1回复

用xml文件内容替换交易正文

在 JBoss 熔断器路由中,我需要用我的熔断器项目中的 XML 文件的内容替换事务正文。 我尝试了以下代码: 我从保险丝中得到以下日志 知道我做错了什么吗? 我的 Apache Camel 版本可能不支持 Language,但我不确定该版本是什么。 例如,对于早于 2.2 的 Apache Cam