该版本仍在开发中,尚未被视为稳定。对于最新稳定版本,请使用 Spring for Apache Kafka 4.0.0spring-doc.cadn.net.cn

连接卡夫卡

从2.5版本开始,这些内容各有所扩展卡夫卡资源工厂. 这允许在运行时通过添加提供商<弦>其配置:setBootstrapServersSupplier(() -> ...). 所有新连接都会调用此程序以获取服务器列表。 消费者和生产者通常寿命较长。 要关闭现有生产者,请致电重置()默认KafkaProducerFactory. 要关闭现有客户,请致电停止()(然后开始()KafkaListenerEndpointRegistry和/或停止()开始()在任何其他听众容器的豆子上。spring-doc.cadn.net.cn

为便于起见,该框架还提供了ABSwitch集群它支持两组引导服务器;其中一个随时都在激活。 配置ABSwitch集群并将其加到生产者和消费工厂中,以及卡夫卡管理员,通过setBootstrapServersSupplier(). 想换时,打电话主()次要()并呼叫重置()对生产工厂建立新联系;对于消费者来说,停止()开始()所有听众容器。 使用@KafkaListeners,停止()开始()KafkaListenerEndpointRegistry豆。spring-doc.cadn.net.cn

更多信息请参见Java文档。spring-doc.cadn.net.cn

工厂听众

从2.5版本开始,默认KafkaProducerFactoryDefaultKafkaConsumerFactory可以配置为听者每当生产者或消费者被创建或关闭时,都能收到通知。spring-doc.cadn.net.cn

生产工厂听众
interface Listener<K, V> {

    default void producerAdded(String id, Producer<K, V> producer) {
    }

    default void producerRemoved(String id, Producer<K, V> producer) {
    }

}
消费者工厂听众
interface Listener<K, V> {

    default void consumerAdded(String id, Consumer<K, V> consumer) {
    }

    default void consumerRemoved(String id, Consumer<K, V> consumer) {
    }

}

在每种情况下,身份证是通过附加客户端ID性质(由指标()成立后)送至工厂豆名财产,分隔于..spring-doc.cadn.net.cn

这些监听器可以用来制作和绑定微米仪KafkaClientMetrics实例化为创建新客户端时的实例(客户端关闭时关闭该客户端)。spring-doc.cadn.net.cn

该框架提供了恰恰做到这一点的听众;参见微米本地度量spring-doc.cadn.net.cn

默认客户端ID前缀

从3.2版本开始,针对使用spring.application.name该名称现已使用。 作为这些客户端类型自动生成客户端ID的默认前缀:spring-doc.cadn.net.cn

这使得在服务器端更容易识别这些客户端,以便排查故障或应用配额。spring-doc.cadn.net.cn

表1。Spring Boot 应用程序的客户端 ID 示例spring.application.name=myapp
客户端类型 无应用名 应用名称

无消费者的消费者组织spring-doc.cadn.net.cn

消费者-零-1spring-doc.cadn.net.cn

myApp-Consumer-1spring-doc.cadn.net.cn

消费者与消费者组“MyGroup”spring-doc.cadn.net.cn

消费者-我的组-1spring-doc.cadn.net.cn

消费者-我的组-1spring-doc.cadn.net.cn

制作人spring-doc.cadn.net.cn

制作人-1spring-doc.cadn.net.cn

myApp-producer-1spring-doc.cadn.net.cn

管理spring-doc.cadn.net.cn

adminclient-1spring-doc.cadn.net.cn

myapp-admin-1spring-doc.cadn.net.cn