我有一个应用程序监听不同的事件源。对于这些事件中的每一个,我都构建了一个 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,但全局?