kafka java生产者卡在生产消息中

Him*_*ahu 5 java apache-kafka kafka-producer-api apache-zookeeper

我正在使用 java api 实现 apache kafka 生产者。Apache Kafka 安装在本地主机上。Zookeeper 也正在运行,但仍然生产者.send() 函数卡在发送消息中并且消息未发布。

我已经创建了“快速消息”主题。

下面是代码。

package com.hsahu.kafka.producer;

import java.util.Properties;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;

public class KafkaProducerExample {
public static void main(String[] args) {

    Properties props = new Properties();

    props.put("bootstrap.servers", "localhost:9092");
    props.put("acks", "all");
    props.put("retries", 0);
    props.put("batch.size", 16384);
    props.put("linger.ms", 0);
    props.put("buffer.memory", 33554432);
    props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
    props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");

    KafkaProducer<String, String> producer = new KafkaProducer<>(props);

    try {
        producer.send(new ProducerRecord<String, String>("fast-messages", "This is a dummy message"));
    } catch(Exception ex) {
        System.out.println(ex);
    }

    System.out.println("message publisher");

    producer.close();
}
Run Code Online (Sandbox Code Playgroud)

}

我该怎么办 ?是我的代码错误还是任何属性设置不正确或丢失?

Him*_*ahu 5

代码没有任何问题。只有 api 版本和 kafka 服务器版本不匹配。所以我只更正了 api 版本,现在生产者正在工作。