该版本仍在开发中,尚未被视为稳定。对于最新稳定版本,请使用 spring-cloud-stream 5.0.0!spring-doc.cadn.net.cn

错误信道

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

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

后者较为罕见。 根据RabbitMQ文档,“[nack]只有在负责队列的Erlang进程发生内部错误时才会被交付。” 如果你发布到有界队列,也可能收到负面确认拒绝-发布队列溢出行为。spring-doc.cadn.net.cn

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

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

有效载荷错误消息对于返回消息是返回AmqpMessageException具有以下性质:spring-doc.cadn.net.cn

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

对于负向确认,有效载荷为NackedAmqpMessageException具有以下性质:spring-doc.cadn.net.cn

  • 失败消息:春季信息留言<?>但那份文件未能发送。spring-doc.cadn.net.cn

  • 纳克理性:一个原因(如果有的话——您可能需要查看经纪人日志以获取更多信息)。spring-doc.cadn.net.cn

这些异常(例如发送到死信队列)没有自动处理。 你可以用自己的 Spring 集成流程来调用这些例外。spring-doc.cadn.net.cn