如何关闭现有的kafka生产者
how to close existing kafka producer
我正在使用 spring-kafka 2.2.7-RELEASE 并编写制作人。我正在阅读此处的文档,如下所示。
“从 2.5 版开始,每一个都扩展了 KafkaResourceFactory。这允许通过在其配置中添加供应商来在运行时更改 bootstrap 服务器:setBootstrapServersSupplier(() → … )。这将被称为对于所有新连接以获取服务器列表。消费者和生产者通常是长期存在的。要关闭现有的生产者,请在 DefaultKafkaProducerFactory 上调用 reset()。要关闭现有的消费者,请在KafkaListenerEndpointRegistry and/or 任何其他侦听器容器 bean 上的 stop() 和 start()
https://docs.spring.io/spring-kafka/reference/html/#connecting
现在,我的问题是
- 我们应该何时以及如何调用此重置方法?
- 如果我们使用旧版本的 spring-kafka,如 2.2.7,我们该如何处理?
每当你想连接到不同的经纪商;只需在工厂上调用 reset()
。
旧版本不可以,你必须创建一个新的工厂和模板。
我正在使用 spring-kafka 2.2.7-RELEASE 并编写制作人。我正在阅读此处的文档,如下所示。
“从 2.5 版开始,每一个都扩展了 KafkaResourceFactory。这允许通过在其配置中添加供应商来在运行时更改 bootstrap 服务器:setBootstrapServersSupplier(() → … )。这将被称为对于所有新连接以获取服务器列表。消费者和生产者通常是长期存在的。要关闭现有的生产者,请在 DefaultKafkaProducerFactory 上调用 reset()。要关闭现有的消费者,请在KafkaListenerEndpointRegistry and/or 任何其他侦听器容器 bean 上的 stop() 和 start()
https://docs.spring.io/spring-kafka/reference/html/#connecting
现在,我的问题是
- 我们应该何时以及如何调用此重置方法?
- 如果我们使用旧版本的 spring-kafka,如 2.2.7,我们该如何处理?
每当你想连接到不同的经纪商;只需在工厂上调用
reset()
。旧版本不可以,你必须创建一个新的工厂和模板。