У меня есть приложение, которое прослушивает разные источники событий. Для каждого из этих событий я создаю IntegrationFlow, где я просто конвейеризирую такие операции, как фильтрация и преобразование, и, наконец, отправляю это сообщение другому API через HTTP-запрос.
Все эти события идут с пользовательскими заголовками, которые я тоже хотел бы распространять.
Мне удалось распространить их, настроив 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, но глобально?