繁体   English   中英

Spring 用于 Apache Kafka:无法识别的生产者配置 - 'delivery.timeout.ms'

[英]Spring for Apache Kafka: Unrecognized producer configuration - 'delivery.timeout.ms'

我有一个 spring 启动应用程序,其中 Spring 用于 Apache Kafka,用于向 kafka 集群上的主题发送消息。 我已经为delivery.timeout.ms自动装配了一个属性,在应用程序启动并配置了生产者之后,应用程序日志显示该属性的值未设置,并给出警告: "WARN [task-scheduler-1] org.apache.kafka.clients.producer.ProducerConfig [] --- The configuration 'delivery.timeout.ms' was supplied but isn't a known config"

我检查了我的 POM 并确认我正在使用以下两个依赖项:

<dependency>
            <groupId>org.springframework.kafka</groupId>
            <artifactId>spring-kafka</artifactId>
            <version>2.2.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.apache.kafka</groupId>
            <artifactId>kafka-clients</artifactId>
            <version>2.1.0</version>
        </dependency>

我还确认该属性存在于版本 2.1.0 中: https://kafka.apache.org/21/javadoc/org/apache/kafka/clients/producer/ProducerConfig.ZFC3562883A

我看到其他属性的类似警告的帖子提到它可以被忽略; 但是,我的应用程序遇到了不良行为,可以通过根据其描述设置此属性来纠正这种行为。

看起来您的 kafka-clients 版本覆盖不起作用。 我刚刚对其进行了测试,它运行良好(使用 spring-kafka 2.2.9 和 2.1.1 客户端):

ProducerConfig values: 
    acks = 1
    batch.size = 16384
    bootstrap.servers = [localhost:9092]
    buffer.memory = 33554432
    client.dns.lookup = default
    client.id = 
    compression.type = none
    connections.max.idle.ms = 540000
    delivery.timeout.ms = 123456
    enable.idempotence = false
    ...

尝试按照Spring for Apache Kafka 参考手册中的说明来覆盖所有 kafka 客户端库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM