对于最新的稳定版本,请使用 Spring AMQP 3.2.0spring-doc.cadn.net.cn

消费者事件

每当侦听器出现 (消费者)经历某种失败。 活动ListenerContainerConsumerFailedEvent具有以下属性:spring-doc.cadn.net.cn

  • container:使用者遇到问题的侦听器容器。spring-doc.cadn.net.cn

  • reason:失败的文本原因。spring-doc.cadn.net.cn

  • fatal:一个布尔值,指示失败是否为致命故障。 对于非致命异常,容器会尝试根据recoveryIntervalrecoveryBackoff(对于SimpleMessageListenerContainer) 或monitorInterval(对于DirectMessageListenerContainer).spring-doc.cadn.net.cn

  • throwable:这Throwable那被抓住了。spring-doc.cadn.net.cn

这些事件可以通过实现ApplicationListener<ListenerContainerConsumerFailedEvent>.spring-doc.cadn.net.cn

系统范围的事件(例如连接失败)由所有使用者在以下情况下发布concurrentConsumers大于 1。

如果使用者失败是因为 (默认情况下,如果其队列被独占使用)以及发布事件,则DEBUG发出 log (自 3.1 起,以前是 WARN)。 要更改此日志记录行为,请提供自定义ConditionalExceptionLoggerAbstractMessageListenerContainer实例的exclusiveConsumerExceptionLogger财产。 此外,SimpleMessageListenerContainer现在,默认情况下,此类异常后的使用者重启记录在 DEBUG 级别(以前为 INFO)。 一种新方法logRestart()已添加到ConditionalExceptionLogger以允许更改此设置。spring-doc.cadn.net.cn

此外,AbstractMessageListenerContainer.DefaultExclusiveConsumerLogger现在是 public,允许对其进行子类化。spring-doc.cadn.net.cn

致命错误始终记录在ERROR水平。 这是不可修改的。spring-doc.cadn.net.cn

在容器生命周期的各个阶段,还会发布其他几个事件:spring-doc.cadn.net.cn