Java操作Kafka生产消费数据之一 - 普通Producer
1.配置Maven依赖
<dependencies>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>1.7.28</version>
</dependency>
</dependencies>
2.生产数据代码
package com.zy.producer;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.serialization.StringSerializer;
import java.util.Properties;
public class MyProducer {
public static void main(String[] args) throws InterruptedException {
System.out.println("Started...");
Properties properties = new Properties();
properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,"localhost:9094");
properties.put(ProducerConfig.RETRIES_CONFIG,1);
properties.put(ProducerConfig.ACKS_CONFIG,"all");
properties.put(ProducerConfig.BATCH_SIZE_CONFIG,16384);
properties.put(ProducerConfig.LINGER_MS_CONFIG,1);
properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());
properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,StringSerializer.class.getName());
KafkaProducer<String, String> producer = new KafkaProducer<String, String>(properties);
for (int i = 0; i < 10 ; i++) {
producer.send(new ProducerRecord<String, String>("topic_1","HelloKafka-" + i));
System.out.println("Send HelloKafka-" + i);
}
try {
Thread.sleep(100);
}
catch(Exception e) {
}
producer.close();
System.out.println("finished");
}
}
3.运行结果
IDEA终端
Started...
Send HelloKafka-0
Send HelloKafka-1
Send HelloKafka-2
Send HelloKafka-3
Send HelloKafka-4
Send HelloKafka-5
Send HelloKafka-6
Send HelloKafka-7
Send HelloKafka-8
Send HelloKafka-9
finished
Kafka控制台消费者
HelloKafka-0
HelloKafka-2
HelloKafka-4
HelloKafka-6
HelloKafka-8
HelloKafka-1
HelloKafka-3
HelloKafka-5
HelloKafka-7
HelloKafka-9