Spring-kafka KafkaListener 运行时自动启动行为

Spring-kafka KafkaListener autostartup behaviour during runtime

我是 运行 一个 spring 应用程序,使用 spring-Kafka 作为消费者应用程序。 在 Kafka 监听器中,我们使用 SpEL 表达式设置了自动启动。我们在运行时更改此值以使此表达式为假。当我们更改 属性.

时,KafkaListener 停止使用更多消息

问题:这是停止轮询更多记录的正确方法,还是我们应该使用 kafkaListenerEndpointRegistry 并停止服务?这两者有什么区别?

另一个问题,如果我有另一个应用程序使用同一个消费者组,所有分区都会重新分配给该应用程序吗?

autoStartup 仅被考虑一次(在应用程序上下文初始化期间)。如果为true,容器将启动,如果为false,则不会。

初始化后在运行时更改 属性 不会停止容器。

上下文启动后,您必须通过容器注册表使用 stop/start 到 stop/start 个容器并且 运行)。

如果您在同一组中有多个实例,分区将分布在各个实例中;一个分区只能被同一组中的一个消费者消费。