スプリッターの後、メッセージの処理中に例外が発生します。その例外を処理し、例外を生成したそのメッセージの相関 ID とエラーを示す特別なヘッダーを持つ新しいメッセージを共通チャネルに送信したいと考えています。
私はこの方法で試しました:
@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?
メッセージ ヘッダーの相関 ID をコピーできません。
私が間違っていることを誰かが知っていますか?前もって感謝します。