gpt4 book ai didi

java - 如何暂停/启动/停止Kafka Producer/Kafka模板

转载 作者:太空宇宙 更新时间:2023-11-04 10:11:49 24 4
gpt4 key购买 nike

我正在使用带有 kafka 集成的 Spring Boot 应用程序,我想实现一个端点来停止和启动 kafka 发布消息。该消息由另一个端点以异步方式触发。

bean KafkaTemplate<String, String>ProducerFactory<String, String> producerFactory()没有任何停止和暂停操作。

我的目标是能够模拟连接失败并确保这些消息存储在我现有的后备机制中。

有什么想法吗?

最佳答案

KafkaTemplate没有这些回调,因为它是一个被动组件,只有我们调用它时才能执行这些操作。

为了模拟连接失败,我建议您实现自定义ProducerFactory生产KafkaProducer被 mock 或覆盖Future<RecordMetadata> send(ProducerRecord<K, V> record, Callback callback); 。在那里,在那ProducerFactory您可以实现适当的生命周期回调并对提到的 send() 中的状态使用react实现。

org.apache.kafka.clients.producer.MockProducer可能有一些东西可供您重复使用或借用。例如查看其 close()fenceProducer() .

关于java - 如何暂停/启动/停止Kafka Producer/Kafka模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52206369/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com