1

我们有一个使用 spring-kafka 的 spring boot 应用程序。当我们更新配置属性时,我们想禁用 kafka 生产者(kafkatemplate)。我尝试过使用条件 bean,并使用 applicationcontext 刷新。

有没有办法用 spring-kafka 优雅地关闭 kafkaproducer ?

4

1 回答 1

1

你可以调用destroy()DefaultKafkaProducerFactory,它会关闭(单例)生产者,但是下一次一些代码调用createProducer()时会创建另一个;目前没有办法阻止这种情况。当您不希望创建生产者时,您需要对工厂进行子类化并抛出异常。

于 2017-02-02T14:16:58.217 回答