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(&

如何知道何时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("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
?只有我们知道您如何实施此方法,我们才能知道它是否已同步。