После сплиттера возникает исключение при обработке сообщения. Я хочу обработать это исключение и направить в общий канал новое сообщение с идентификатором корреляции того сообщения, которое породило исключение, и специальным заголовком, указывающим на ошибку.
Я пробовал так:
@Bean
public IntegrationFlow socialMediaErrorFlow() {
return IntegrationFlows.from("socialMediaErrorChannel")
.wireTap(sf -> sf.handle("errorService", "handleException"))
.handle((p, h) -> MessageBuilder.withPayload(p).copyHeaders(h).setHeader("ERROR", true).build())
.channel("directChannel_2")
.get();
}
Но агрегатор возвращает эту ошибку:
MessageHandlingException: error occurred in message handler [org.springframework.integration.dsl.AggregatorSpec$InternalAggregatingMessageHandler#0]; nested exception is java.lang.IllegalStateException: Null correlation not allowed. Maybe the CorrelationStrategy is failing?
Я не могу скопировать идентификатор корреляции в заголовке сообщения.
Кто-нибудь знает, что я делаю неправильно? Заранее спасибо.