如何在不从 kafka 生产者配置 bean 设置的情况下将应用程序属性设置为默认的 kafka 生产者模板

how to set application properties to default kafka producer template without setting from kafka producer config bean

这是我用属性文件定义的应用程序属性:

spring.kafka.producer.bootstrap-servers = localhost:9090
spring.kafka.producer.key-serializer=org.springframework.kafka.support.serializer.JsonSerializer
spring.kafka.producer.value-serializer=org.springframework.kafka.support.serializer.JsonSerializer

myprojectcommon.util.kafka.producer.max-retry-attempts = 3
myprojectcommon.util.kafka.producer.retry-timeout-ms = 1000
myprojectcommon.util.kafka.producer.retry-timeout-modifier = 2

spring.kafka.producer.max-in-flight-requests-per-connection = 1
spring.kafka.producer.request-timeout-ms = 120000
spring.kafka.producer.acks = all
spring.kafka.producer.linger-ms=100
spring.kafka.producer.connections-max-idle-ms = 180000
spring.kafka.producer.max-request-size = 1000000

这是我的 kafka 生产者配置:

@Configuration
@Slf4j
public class KafkaProducerConfig {

    @Autowired
    private KafkaProperties properties;


    @Bean
    public KafkaProducerTemplate kafkaProducerSuccessTemplate() {
        Map<String, Object> producerProps  = properties.buildProducerProperties();
        producerProps.put(ProducerConfig.CLIENT_ID_CONFIG, "success_client_id");
        ProducerFactory<String, String> producerFactory = new DefaultKafkaProducerFactory<>(producerProps);
        return new KafkaProducerTemplate(producerFactory);
   }

}

这是来自控制台的我的生产者 kafka 配置值:

2021-02-17 18:02:27.483  INFO 127848 --- [-listener-0-C-1] o.a.k.clients.producer.ProducerConfig    : ProducerConfig values: 
    acks = -1
    linger.ms = 0
    max.in.flight.requests.per.connection = 5
    client.id = success_client_id
    reconnect.backoff.ms = 50
    request.timeout.ms = 30000
    retries = 2147483647
    retry.backoff.ms = 100

有人可以帮忙吗?

...linger-ms 不是有效的 属性。

Boot只直接支持一部分属性;其他属性设置如下...

...producer.properties.[linger.ms]=.

请参阅引导文档。

https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-kafka-extra-props