使用带有rabbitmq的spring-cloud-stream在maxAttempts之后更新应用程序状态

时间:2017-06-02 19:18:20

标签: spring-cloud-stream

我正在使用spring-cloud-stream在服务之间进行通信。我已经为RepublishMessageRecoverer配置了3个maxAttempts,并且还使用autoBindDlq和republishToDlq配置了使用者输入绑定。

重新发布工作正常。我只是想检测所有尝试都已尝试并更新应用程序状态,以便它反映错误状态。如果我能得到计数器也会解决我的问题。

谢谢!

1 个答案:

答案 0 :(得分:0)

内部重试上下文(包含传递计数)不会向应用程序公开。

我们正在制定新的错误处理策略,允许您订阅错误频道以及重新发布恢复器,这样您就可以获得通知。

使用当前的活页夹,我无法为您提供良好的解决方案。

我想你可以用2阶段DLQ做点什么。

添加第二个StreamListener,从主侦听器的DLQ中消耗,然后将入站消息发送到最终的DLQ。

如果消息流经第二个侦听器,则表示主侦听器出现故障。

但是,这有点令人费解。