如何在不从 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]=
.
请参阅引导文档。
这是我用属性文件定义的应用程序属性:
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]=
.
请参阅引导文档。