Here is my application properties defined with properties file:
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
Here is my kafka producer config :
@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);
}
}
here is my producer kafka configuration values from console:
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
Can some one help on this ?
...linger-ms
is not a valid property.
Boot only supports a subset of properties directly; other properties are set like this...
...producer.properties.[linger.ms]=
.
See the boot documentation.