ConcurrentKafkaListenerContainerFactory中的一个使用者线程失败时会发生什么

时间:2019-02-03 06:49:31

标签: spring-kafka

我正在使用spring kafka 2.1并具有一个并发3的ConcurrentKafkaListenerContainerFactory,所以有3个使用者从一个主题中进行读取。当一个线程遇到未被捕获的异常时会发生什么。将所有使用者关闭并进行应用在这种情况下停止了?

1 个答案:

答案 0 :(得分:1)

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

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

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

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