Apache kafka 通过Java代码用Kafka编写主题

Apache kafka 通过Java代码用Kafka编写主题,apache-kafka,kafka-producer-api,Apache Kafka,Kafka Producer Api,我试图通过JAVA编写Kafka主题,因为我已经创建了主题,但我想在该主题中插入一些数据 提前感谢。这里是一个同步生产者的示例。它应该与Kafka 0.11(以及一些早期版本)配合使用: import org.apache.kafka.clients.producer.*; 导入org.apache.kafka.common.serialization.lonserializer; 导入org.apache.kafka.common.serialization.StringSerializer;

我试图通过JAVA编写Kafka主题,因为我已经创建了主题,但我想在该主题中插入一些数据


提前感谢。

这里是一个同步生产者的示例。它应该与Kafka 0.11(以及一些早期版本)配合使用:

import org.apache.kafka.clients.producer.*;
导入org.apache.kafka.common.serialization.lonserializer;
导入org.apache.kafka.common.serialization.StringSerializer;
导入java.util.Properties;
公共类MyKafkaProducer{
私有最终静态字符串TOPIC=“我的示例TOPIC”;
私有最终静态字符串BOOTSTRAP_SERVERS=“localhost:9092,localhost:9093,localhost:9094”;
私有静态生产者createProducer(){
Properties props=新属性();
props.put(ProducerConfig.BOOTSTRAP\u SERVERS\u CONFIG,BOOTSTRAP\u SERVERS);
props.put(ProducerConfig.CLIENT_ID_CONFIG,“MyKafkaProducer”);
put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,longeserializer.CLASS.getName());
put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,StringSerializer.CLASS.getName());
归还新卡夫卡制作人(道具);
}
静态void runProducer(final int sendMessageCount)引发异常{
最终制作人=createProducer();
试一试{
对于(long index=1;index“I'm trying”是什么意思?你有没有不起作用的代码?你能展示一下吗?否则,网上有很多关于如何使用KafkaProducer的代码示例,不需要堆栈溢出问题。
import org.apache.kafka.clients.producer.*;
import org.apache.kafka.common.serialization.LongSerializer;
import org.apache.kafka.common.serialization.StringSerializer;
import java.util.Properties;

public class MyKafkaProducer {

    private final static String TOPIC = "my-example-topic";
    private final static String BOOTSTRAP_SERVERS = "localhost:9092,localhost:9093,localhost:9094";

    private static Producer<Long, String> createProducer() {
        Properties props = new Properties();
        props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, BOOTSTRAP_SERVERS);
        props.put(ProducerConfig.CLIENT_ID_CONFIG, "MyKafkaProducer");
        props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, LongSerializer.class.getName());
        props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
        return new KafkaProducer<>(props);
    }

    static void runProducer(final int sendMessageCount) throws Exception {
        final Producer<Long, String> producer = createProducer();

        try {
            for (long index = 1; index <= sendMessageCount; index++) {
                final ProducerRecord<Long, String> record = new ProducerRecord<>(TOPIC, index, "Message " + index);
                RecordMetadata metadata = producer.send(record).get();
                System.out.printf("sent record(key=%s value='%s')" + " metadata(partition=%d, offset=%d)\n",
                    record.key(), record.value(), metadata.partition(), metadata.offset());
            }
        } finally {
            producer.flush();
            producer.close();
        }
    }

    public static void main(String[] args) throws Exception {
        if (args.length == 0) {
            runProducer(5);
        } else {
            runProducer(Integer.parseInt(args[0]));
        }
    }
}