对于最新稳定版本,请使用spring-cloud-stream 5.0.1spring-doc.cadn.net.cn

Error Channels

从版本1.3开始,绑定器会无条件地将每个消费者目标的异常发送到错误通道,并且还可以配置为将异步生产者发送失败发送到错误通道。
请参阅“错误处理”了解更多信息。spring-doc.cadn.net.cn

RabbitMQ有两种类型的发送失败:spring-doc.cadn.net.cn

后一种情况很少见。
根据 RabbitMQ 文档,[一个 nack] 只有在负责队列的 Erlang 进程中发生内部错误时才会被传递。
如果你发布到具有 reject-publish 队列溢出行为的有限队列,也可能获得负面确认。
spring-doc.cadn.net.cn

除了启用生产者错误通道(如“错误处理”中所述)外,RabbitMQ绑定器只有在连接工厂正确配置的情况下才会将消息发送到通道,如下所示:spring-doc.cadn.net.cn

使用Spring Boot配置连接工厂时,设置以下属性:<br>spring-doc.cadn.net.cn

返回消息的ErrorMessage负载是一个带有以下属性的ReturnedAmqpMessageExceptionspring-doc.cadn.net.cn

另请参阅发布者确认,了解接收退回消息的另一种机制。spring-doc.cadn.net.cn

对于负确认,负载是一个具有以下属性的NackedAmqpMessageExceptionspring-doc.cadn.net.cn

可以用测 Spring 集成流程来执行异常.没有自动处理 these exceptions (如正在发送到 付款保存队列). You can consume these exceptions with your own Spring Integration flow.spring-doc.cadn.net.cn