70 lines
2.2 KiB
Java
70 lines
2.2 KiB
Java
package com.god.kafka.producer;
|
|
|
|
import org.apache.kafka.clients.producer.KafkaProducer;
|
|
import org.apache.kafka.clients.producer.Producer;
|
|
import org.apache.kafka.clients.producer.ProducerRecord;
|
|
import org.apache.kafka.clients.producer.RecordMetadata;
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.util.Properties;
|
|
import java.util.UUID;
|
|
import java.util.concurrent.ExecutionException;
|
|
import java.util.concurrent.Future;
|
|
|
|
import static com.god.kafka.contents.KafkaContent.KAFKA_CON;
|
|
import static com.god.kafka.contents.KafkaContent.TOPIC;
|
|
|
|
|
|
/**
|
|
* @author DongZl
|
|
* @description: 生产者测试
|
|
* @Date 2023/8/25 18:50
|
|
*/
|
|
public class ProducerTest {
|
|
private static Producer<String, String> producer;
|
|
|
|
public static void KfkProducer() {
|
|
Properties props = new Properties();
|
|
props.put("bootstrap.servers", KAFKA_CON);
|
|
// props.put("linger.ms", 1);
|
|
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
|
|
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
|
|
producer = new KafkaProducer<>(props);
|
|
}
|
|
|
|
private static void close() {
|
|
producer.close();
|
|
}
|
|
|
|
private static RecordMetadata send(String topic, String key, String value) {
|
|
Future<RecordMetadata> result = producer.send(new ProducerRecord<>(topic, key, value));
|
|
RecordMetadata meta = null;
|
|
try {
|
|
meta = result.get();
|
|
} catch (InterruptedException | ExecutionException e) {
|
|
e.printStackTrace();
|
|
}
|
|
return meta;
|
|
}
|
|
|
|
public static void main (String[] args) {
|
|
KfkProducer();
|
|
|
|
new Thread(() -> {
|
|
int i = 0;
|
|
do {
|
|
try {
|
|
Thread.sleep(1000);
|
|
} catch (InterruptedException e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
String format = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
|
send(TOPIC, UUID.randomUUID().toString(), format);
|
|
}while (i++ < 1000);
|
|
close();
|
|
}).start();
|
|
|
|
}
|
|
}
|