我一直在尝试在Spring Integration中开发这样的算法,但它似乎不起作用。我尝试的解决方案是(伪代码):
GATEWAY (error-channel = "errorChannel")
CHANNEL (id="persistentDelayedRetryChannel")
CHANNEL (id="errorLoggingChannel")
ROUTER (input-channel="errorChannel")
=> if retryCount is not reached yet => persistentDelayedRetryChannel
=> else => errorLoggingChannel
因此,路由器侦听错误,并在需要时将此消息重新路由到持久性重试通道。否则它会记录错误并退出。当然还有其他组件,例如一个增加重试次数的头文件,以及一个从发布到错误通道的Message {MessagingException}中提取失败消息的转换器。
但是,我一直收到以下错误:
Reply message being sent, but the receiving thread has already received a reply:[Payload=org.springframework.integration.MessageHandlingException:....
有人可以解释一下为什么会发生这种情况以及如何解决这个问题吗?
谢谢!