Java 卡夫卡在发送消息时同步
如何知道何时ack=all,何时发送消息,kafka是否在java中同步Java 卡夫卡在发送消息时同步,java,apache-kafka,Java,Apache Kafka,如何知道何时ack=all,何时发送消息,kafka是否在java中同步 public KafkaProducer<String, String> createProducer(String ack) { Properties props = new Properties(); props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, KafkaConstant.KAFKA_BROKER); props.put(&
public KafkaProducer<String, String> createProducer(String ack) {
Properties props = new Properties();
props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, KafkaConstant.KAFKA_BROKER);
props.put("acks",ack );
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
KafkaProducer<String, String> producer = new KafkaProducer<>(props);
return producer;
}
public KafkaProducer createProducer(字符串确认){
Properties props=新属性();
props.put(ProducerConfig.BOOTSTRAP\u SERVERS\u CONFIG,KafkaConstant.KAFKA\u BROKER);
道具放置(“阿克斯”,阿克斯);
put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,StringSerializer.CLASS.getName());
put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,StringSerializer.CLASS.getName());
卡夫卡制作人=新卡夫卡制作人(道具);
回报生产者;
}
和发送方法:
producer.send(new ProducerRecord<>(topic, key, content)
producer.send(新ProducerRecord(主题、键、内容)
最后的
KafkaProducer<String, String> producer = mainService.createProducer(ack);
RecordMetadata recordMetadata = mainService.sendKafkaMessage(key, content, producer, topic)
KafkaProducer producer=mainService.createProducer(ack);
RecordMetadata RecordMetadata=mainService.sendKafCamessage(键、内容、生产者、主题)
Kafka客户端是异步的,除非调用了producer.send(…).get
。请遵循Kafka客户端文档以更好地理解
Kafka在客户端具有缓冲和批处理功能,这也决定了消息何时将传递给代理。这还取决于客户端设置的生产者配置。Kafka客户端是异步的,除非调用了
producer.send(…).get
。请遵循Kafka客户端文档以更好地理解
Kafka在客户端具有缓冲和批处理功能,这也决定了消息何时将发送到代理。这还取决于在客户端设置的生产者配置。您对
mainService.sendKafka消息的实现是什么?
?只有我们知道您如何实现此方法,我们才能知道它是否同步。您的实现是什么mainService.sendKafkaMessage
?只有我们知道您如何实施此方法,我们才能知道它是否已同步。