我正在使用spring kafka 2.1并具有一个并发3的ConcurrentKafkaListenerContainerFactory,所以有3个使用者从一个主题中进行读取。当一个线程遇到未被捕获的异常时会发生什么。将所有使用者关闭并进行应用在这种情况下停止了?
答案 0 :(得分:1)
是什么导致您问这个问题?你看到问题了吗?
容器捕获所有异常并调用错误处理程序;接下来会发生什么取决于错误处理程序的作用。默认情况下,错误只会记录。
如果侦听器中发生错误,则错误处理程序将获取导致失败的记录;否则,错误处理程序将返回错误记录。如果异常发生在侦听器调用之外,则在这种情况下显然没有“当前”记录,但是错误处理程序仍被调用。
如果使用ContainerStoppingErrorHandler
配置容器,则整个容器(所有线程)都将停止。