| 
         对于最新的稳定版本,请使用 Spring AMQP 3.2.6!  | 
    
消费者活动
每当侦听器
(消费者)经历了某种失败。
活动ListenerContainerConsumerFailedEvent具有以下属性:
- 
container:使用者遇到问题的侦听器容器。 - 
reason:失败的文本原因。 - 
fatal:指示故障是否致命的布尔值。 在非致命异常的情况下,容器会尝试重新启动使用者,根据recoveryInterval或recoveryBackoff(对于SimpleMessageListenerContainer) 或monitorInterval(对于DirectMessageListenerContainer). - 
throwable:这Throwable那被抓住了。 
这些事件可以通过实现ApplicationListener<ListenerContainerConsumerFailedEvent>.
系统范围的事件(例如连接失败)由所有使用者发布,当concurrentConsumers大于 1。 | 
如果使用者失败,因为默认情况下,如果其队列被独占使用,以及发布事件,则DEBUG日志(从 3.1 开始,以前是 WARN)。
要更改此日志记录行为,请提供自定义ConditionalExceptionLogger在AbstractMessageListenerContainer实例的exclusiveConsumerExceptionLogger财产。
此外,SimpleMessageListenerContainer默认情况下,此类异常后的消费者重新启动现在记录在 DEBUG 级别(以前是 INFO)。
一种新方法logRestart()已添加到ConditionalExceptionLogger以允许更改此设置。
此外,AbstractMessageListenerContainer.DefaultExclusiveConsumerLogger现在是公共的,允许它被子类化。
另请参阅记录通道关闭事件。
致命错误始终记录在ERROR水平。
这是不可修改的。
其他几个事件在容器生命周期的各个阶段发布:
- 
AsyncConsumerStartedEvent:当使用者启动时。 - 
AsyncConsumerRestartedEvent:当使用者在发生故障后重新启动时 -SimpleMessageListenerContainer只。 - 
AsyncConsumerTerminatedEvent:当消费者正常停止时。 - 
AsyncConsumerStoppedEvent:当消费者停止时 -SimpleMessageListenerContainer只。 - 
ConsumeOkEvent:当consumeOk从代理接收,包含队列名称和consumerTag - 
ListenerContainerIdleEvent:请参阅检测空闲异步使用者。 - 
MissingQueueEvent:检测到缺少队列时。