我必须记录一个消费者在春季卡夫卡中所花费的时间。由于 kafkaListener 方法对每条消息执行,因此将记录器放在那里不起作用。此外,有时一些消息会丢失并且不被消费者使用。我应该在哪里放置记录器来找出自消费者启动以来的时间。消费者不会退出或关闭,其轮询无限期
可以设置 idleEventInterval
容器属性并使用 ApplicationListener<ListenerContainerIdleEvent>
Bean(或 @EventListener
方法(来接收这些事件。
这些事件每idleEventInterval
发布一次,并包含一个idleTime
属性,即自我们上次收到消息以来的时间。
对于开始时间,您可以查看partitions assigned
日志消息,或者仅使用start()
容器编辑的时间。