编写记录一下Java的Kafka生产者简单例子,不是一个完整例子程序,仅仅包含核心代码
/**
* @author Rain
* @date 2018/01/14 下午5:59
* @version 1.1.0
*/
package com.xxx.stream.util;
import com.xxx.stream.connect.configure.Environment;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.InputStream;
import java.util.Properties;
import static com.xxx.stream.util.StreamUtil.KAFKA_TOPIC_RESULT_MYSQL;
public class KafkaProducer {
private final static Logger logger = LoggerFactory.getLogger(KafkaProducer.class);
private final static String TOPIC = KAFKA_TOPIC_RESULT_MYSQL;
private final static String PRODUCER_PROPERTY = Environment.ENV + "/producer.properties";
private static Producer producer;
static {
Properties props = new Properties();
InputStream input = KafkaProducer.class.getClassLoader().getResourceAsStream(PRODUCER_PROPERTY);
try {
props.load(input);
producer = new org.apache.kafka.clients.producer.KafkaProducer<>(props);
logger.info("Initialization Producer SUCCESS !");
} catch (Exception e) {
logger.error(e.toString());
}
}
public static void send(final String key, final String value) {
producer.send(new ProducerRecord<>(TOPIC, key, value));
}
}