我们有一个使用spring-kafka的spring boot应用程序。我们想要更新配置属性时禁用kafka生成器(kafkatemplate)。我已尝试使用条件bean,并使用applicationcontext refresh。
有没有办法用spring-kafka优雅地关闭kafkaproducer?
答案 0 :(得分:1)
您可以在destroy()
上调用DefaultKafkaProducerFactory
,它将关闭(单例)生成器,但下次有些代码调用createProducer()
时,将创建另一个;目前还没有办法阻止这种情况发生。当您不想创建生产者时,您需要对工厂进行子类化并抛出异常。