Apache Kafka 0.8.2.1 - Producer(Java API)不写消息

时间:2015-08-05 10:54:11

标签: java apache-kafka

我在CentOS环境中设置了Apache Kafka 0.8.2.1,创建了一个主题,并通过命令行生产者/消费者发送/接收了一些虚拟消息。

enter image description here

正如您在截图中看到的那样,效果很好。不,我正在编写一个自定义生产者来将我的消息从Java发送到主题。

package de.jofre.kafka;

import java.util.Properties;

import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.serialization.StringSerializer;

public class TestProducer {

    public static void main(String[] args) {

        Properties props = new Properties();
        props.put("bootstrap.servers", "192.168.145.130:9092");
        props.put("key.serializer", StringSerializer.class.getName());
        props.put("value.serializer", StringSerializer.class.getName());

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

        ProducerRecord<String, String> record = new ProducerRecord<String, String>("test", "Kafka is great");
        prod.send(record);

        prod.close();
    }
}

调用显示的main不会导致Kafka主题上的消息,也不会打印任何错误消息。

是否有人知道为什么邮件不会出现在我的主题中?

1 个答案:

答案 0 :(得分:1)

感谢morganw09dev,我找到了答案。我使用依赖项 org.apache.kafka kafka_2.11 0.8.2.1 org.apache.kafka kafka-clients 0.8.2.1 进行了测试。他们没有工作。

实际工作的依赖是 org.apache.kafka kafka_2.10 0.8.2.1 。我认为这是一个错误,因为我下载并运行了kafka_2.11二进制文件。