Spring集成:如何全局配置标头映射器

时间:2019-04-25 17:51:08

标签: java spring-integration spring-cloud-stream spring-integration-dsl spring-integration-http

我有一个监听不同事件源的应用程序。对于每个此类事件,我都会构建一个IntegrationFlow,在其中只对诸如过滤和转换之类的操作进行流水线处理,最后通过HTTP请求将此消息发送到另一个API。

所有这些事件都带有我也想传播的自定义标头。

我设法通过配置DefaultHttpHeaderMapper来传播它们(它已经在传播标准的HTTP标头,例如“ Accept”或“ Content-Type”),但是问题是我需要对每个IntegrationFlow都这样做。

考虑以下示例:

    @Bean
    public IntegrationFlow eventFlow(){
        return IntegrationFlows.from(SINK)
            .filter("headers['type'] == 'POST'")
            .transform(Transformers.fromJson(Event.class))
            .handle(
                Http.outboundGateway(uri)
                    .httpMethod(HttpMethod.POST)
                    .mappedRequestHeaders("custom-header-prefix*"))
            .channel("nullChannel")
            .get();
    }

有什么方法可以配置此DefaultHttpHeaderMapper,但可以全局配置吗?

0 个答案:

没有答案