Spring kafka 当ConcurrentKafkaListenerContainerFactory中的一个使用者线程失败时会发生什么情况

Spring kafka 当ConcurrentKafkaListenerContainerFactory中的一个使用者线程失败时会发生什么情况,spring-kafka,Spring Kafka,我使用的是spring kafka 2.1,并且有一个ConcurrentKafkalListenerContainerFactory和concurrency 3,因此有3个使用者正在阅读一个主题。当其中一个线程遇到未捕获的异常时会发生什么情况。在这种情况下,是否会关闭所有使用者并停止应用程序?是什么导致您提出这个问题的?你看到问题了吗 容器捕获所有异常并调用错误处理程序;接下来会发生什么取决于错误处理程序的操作。默认情况下,只记录错误 如果错误发生在侦听器中,错误处理程序将获取导致失败的记录;

我使用的是spring kafka 2.1,并且有一个ConcurrentKafkalListenerContainerFactory和concurrency 3,因此有3个使用者正在阅读一个主题。当其中一个线程遇到未捕获的异常时会发生什么情况。在这种情况下,是否会关闭所有使用者并停止应用程序?

是什么导致您提出这个问题的?你看到问题了吗

容器捕获所有异常并调用错误处理程序;接下来会发生什么取决于错误处理程序的操作。默认情况下,只记录错误

如果错误发生在侦听器中,错误处理程序将获取导致失败的记录;如果异常发生在侦听器调用之外,则在这种情况下显然没有“当前”记录,但仍会调用错误处理程序


如果使用
ContainerStoppingErrorHandler
配置容器,则整个容器(所有线程)将停止。

谢谢。这是有道理的。我遇到过不同的情况,在这些情况下,如果出现错误,整个过程应该停止,而在其他情况下,如果错误累积到一定数量,那么整个过程应该停止。在第一个案例中使用了ContainerToppingErrorHandler,它可以正常工作。当然,这些都是针对不同的使用者的>默认情况下,只会记录错误