From 2fe8430bbabbee98354a711115663eb6d6cb1127 Mon Sep 17 00:00:00 2001 From: haerong22 Date: Tue, 2 Aug 2022 01:21:33 +0900 Subject: [PATCH] #15 kafka : producer - simple producer --- .../src/main/java/KafkaConfig.java | 18 +++++++++++++++ .../src/main/java/SimpleProducer.java | 23 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 kafka/kafka-producer/src/main/java/KafkaConfig.java create mode 100644 kafka/kafka-producer/src/main/java/SimpleProducer.java diff --git a/kafka/kafka-producer/src/main/java/KafkaConfig.java b/kafka/kafka-producer/src/main/java/KafkaConfig.java new file mode 100644 index 00000000..14314ec2 --- /dev/null +++ b/kafka/kafka-producer/src/main/java/KafkaConfig.java @@ -0,0 +1,18 @@ +import org.apache.kafka.clients.producer.KafkaProducer; +import org.apache.kafka.clients.producer.ProducerConfig; +import org.apache.kafka.common.serialization.StringSerializer; + +import java.util.Properties; + +public class KafkaConfig { + protected final static String TOPIC_NAME = "test"; + protected final static String BOOTSTRAP_SERVERS = "localhost:9092"; + + protected static KafkaProducer setup() { + Properties configs = new Properties(); + configs.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, KafkaConfig.BOOTSTRAP_SERVERS); + configs.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName()); + configs.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName()); + return new KafkaProducer<>(configs); + } +} diff --git a/kafka/kafka-producer/src/main/java/SimpleProducer.java b/kafka/kafka-producer/src/main/java/SimpleProducer.java new file mode 100644 index 00000000..4e5c75ac --- /dev/null +++ b/kafka/kafka-producer/src/main/java/SimpleProducer.java @@ -0,0 +1,23 @@ +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 org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Properties; + +public class SimpleProducer { + private final static Logger logger = LoggerFactory.getLogger(SimpleProducer.class); + + public static void main(String[] args) { + KafkaProducer producer = KafkaConfig.setup(); + + String messageValue = "testMessage"; + ProducerRecord record = new ProducerRecord<>(KafkaConfig.TOPIC_NAME, messageValue); + producer.send(record); + logger.info("{}", record); + producer.flush(); + producer.close(); + } +} \ No newline at end of file