【发布时间】:2020-11-03 22:52:18
【问题描述】:
在 Java Spring 应用程序中,我将 Producer 配置为使用 Acks,并且还必须设置 min.insync.replicas 参数。
我使用以下方法设置了 Acks:
configProps.put(ProducerConfig.ACKS_CONFIG, kafkaAcks);
但我在ProducerConfig 上找不到min.insync.replicas 属性。查看Kafka Spring Docs 没有找到与min.insync.replicas 相关的属性。
那么,我如何在 Kafka Spring 应用程序上配置 min.insync.replicas?
@Bean
public KafkaTemplate<String, GenericRecord> kafkaTemplate() {
return new KafkaTemplate<>(producerFactory());
}
public ProducerFactory<String, GenericRecord> producerFactory() {
return new DefaultKafkaProducerFactory<>(getProducerGenericRecordConfigurations());
}
private Map<String, Object> getProducerGenericRecordConfigurations() {
Map<String, Object> configProps = new HashMap<>();
configProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, kafkaBootstrapServerUrl);
configProps.put(KafkaAvroDeserializerConfig.SCHEMA_REGISTRY_URL_CONFIG, schemaRegistryURL);
configProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
configProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, KafkaAvroSerializer.class);
configProps.put(ProducerConfig.ACKS_CONFIG, kafkaAcks);
return configProps;
}
【问题讨论】:
标签: java spring apache-kafka kafka-producer-api