1. 우선 다음과 같이 간단한 메시지 1개를 보내는 프로그램을 작성한다.
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.getName());
private final static String topic = "test-topic";
public static void main(String[] args) {
Properties props = new Properties();
props.setProperty("bootstrap.servers", "localhost:9092");
props.setProperty(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG , "localhost:9092");
props.setProperty( ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG , StringSerializer.class.getName());
props.setProperty( ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG , StringSerializer.class.getName());
KafkaProducer< String , String > kafka = new KafkaProducer<>(props);
ProducerRecord< String , String > record = new ProducerRecord<>(topic, "keyMessage", "valueMessage");
kafka.send(record);
logger.info("{}",record);
kafka.flush();
kafka.close();
}
}
2. topic="test-topic"이니 해당되는 토픽이 존재해야함. 그래서 만듬
kafka-topics --bootstrap-server localhost:9092 --create --topic test-topic
3. producer 프로그램을 실행해서 메시지를 토픽으로 보낸다.
4. 다음과 같이 console-consumer에서 확인할 수 있었다.