我有一个监听不同事件源的应用程序。对于每个此类事件,我都会构建一个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,但可以全局配置吗?