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

错误通道

从 1.3 版开始,绑定器无条件地将异常发送到每个使用者目标的错误通道,也可以配置为将异步生产者发送失败发送到错误通道。 有关详细信息,请参阅“错误处理”。spring-doc.cadn.net.cn

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

后者很少见。 根据 RabbitMQ 文档,“只有当负责队列的 Erlang 进程中发生内部错误时,才会传递 [a nack]。 如果将reject-publish队列溢出行为。spring-doc.cadn.net.cn

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

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

的有效负载ErrorMessage对于返回的消息,是ReturnedAmqpMessageException具有以下属性:spring-doc.cadn.net.cn

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

对于否定确认,有效负载是NackedAmqpMessageException具有以下属性:spring-doc.cadn.net.cn

不会自动处理这些异常(例如发送到死信队列)。 您可以在自己的 Spring Integration 流中使用这些异常。spring-doc.cadn.net.cn