spring for apache kafka:无法识别的生产者配置-“delivery.timeout.ms”

1bqhqjot  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(545)

我有一个spring引导应用程序,其中spring for 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.html
我看到一些帖子对其他属性也有类似的警告,提到可以忽略它;但是,我的应用程序遇到了不希望出现的行为,可以通过根据其描述设置此属性来进行更正。

31moq8wy

31moq8wy1#

看起来你的Kafka客户端版本覆盖不起作用。我刚刚测试了它,效果很好(使用SpringKafka2.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
    ...

尝试按照SpringforApacheKafka参考手册中的说明重写所有kafka客户机库。

相关问题