消费者活动
容器在监听器出现时发布应用事件
(消费者)经历了某种故障。
事件经过ListenerContainerConsumerFailedEvent具有以下性质:
-
容器:消费者遇到问题的听众容器。 -
原因:失败的文本原因。 -
致命:一个布尔值,表示故障是否致命。 除非致命情况外,容器会根据恢复间隔或恢复退让(对于SimpleMessageListenerContainer)或monitorInterval(对于DirectMessageListenerContainer). -
可投掷:这可投掷那是被抓到了。
这些事件可以通过实现来消耗ApplicationListener<ListenerContainerConsumerFailedEvent>.
系统范围的事件(如连接失败)由所有消费者发布,当并发消费者大于1。 |
如果消费者失败,因为其队列默认被独占使用,同时发布事件,调试日志发布(自3.1版本起,之前为WARN版本)。
要改变这种日志行为,请提供自定义条件异常记录器在摘要MessageListenerContainer实例exclusiveConsumerExceptionLogger财产。
此外,SimpleMessageListenerContainer此类例外后的消费者重启默认记录在调试层(之前为INFO)。
一种新方法logRestart()已被添加到条件异常记录器允许改变这一点。
另外,还有AbstractMessageListenerContainer.DefaultExclusiveConsumerLogger现在是公开的,允许它被子分类。
另见记录通道关闭事件。
致命错误总是在错误水平。
这是无法修改的。
容器生命周期的不同阶段还发布了若干其他事件:
-
AsyncConsumerStartedEvent:当消费者开始时。 -
AsyncConsumerRestartedEvent:当用户在故障后重启时——SimpleMessageListenerContainer只。 -
异步消费者终止事件当消费者被正常阻止时。 -
AsyncConsumerStoppedEvent:当消费者被阻止时——SimpleMessageListenerContainer只。 -
ConsumeOkEvent: 当消费好了从中介处接收,包含队列名称和consumerTag -
ListenerContainerIdleEvent:参见检测闲置异步消费者。 -
缺失队列事件:当检测到缺失队列时。