org.apache.kafka.common.config.ConfigException:缺少必需的配置"bootstrap.servers",它没有默认值

Amr*_*mar 2 apache-kafka kafka-producer-api

我在Eclipse中运行我的生成器类时遇到此错误: org.apache.kafka.common.config.ConfigException:缺少必需的配置"bootstrap.servers",它没有默认值

这是我的制作类:

public class SimpleProducer {

  public static void main(String[] args) throws Exception {

    try {
        String topicName = "mytopic";
        String key = "key1";
        String value = "Value-1";

        Properties prop = new Properties();
        prop.put("bootstrap.server","localhost:9092");
        prop.put("key.serializer","org.apache.kafka.common.serialization.StringSerializer");
        prop.put("value.serializer","org.apache.kafka.cpmmon.serialization.StringSerializer");

        Producer<String, String> producer = new KafkaProducer<>(prop);

        ProducerRecord<String, String> record = new ProducerRecord<>(topicName,key,value);
        producer.send(record);
        producer.close();
        System.out.println("SimpleProducer Completed.");
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

关于如何解决它的任何指针?

dab*_*cai 8

只需改变

prop.put("bootstrap.server","localhost:9092");

prop.put("bootstrap.servers","localhost:9092");

在你的代码中

prop.put("value.serializer","prop.put("value.serializer","org.apache.kafka.cpmmon.serialization.StringSerializer");

common不正确的,正确的包org.apache.kafka.common.serialization.StringSerializer


Nau*_*hah 7

使用以下内容并避免使用硬编码值

为了

prop.put("bootstrap.server","localhost:9092");
prop.put("key.serializer","org.apache.kafka.common.serialization.StringSerializer");
prop.put("value.serializer","org.apache.kafka.common.serialization.StringSerializer");
Run Code Online (Sandbox Code Playgroud)

prop.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServer);
prop.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
prop.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
Run Code Online (Sandbox Code Playgroud)

ProducerConfig将在org.apache.kafka.clients.producer包中找到