package com.jthink.skyeye.client.kafka.logback.test;
import org.apache.kafka.clients.producer.Callback;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.clients.producer.RecordMetadata;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Properties;
/**
* JThink@JThink
*
* @author JThink
* @version 0.0.1
* @desc kafka producer test
* @date 2016-09-07 20:33:31
*/
public class KafkaProducerDemo {
private static Logger LOGGER = LoggerFactory.getLogger(KafkaProducerDemo.class);
public static void main(String[] args) {
Properties properties = new Properties();
properties.put("bootstrap.servers", "192.168.88.140:9092,192.168.88.145:9092,192.168.88.148:9092");
properties.put("retries", 0);
// props.put("batch.size", 16384);
properties.put("linger.ms", 0);
properties.put("max.block.ms", 3000);
properties.put("key.serializer", "org.apache.kafka.common.serialization.ByteArraySerializer");
properties.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
// properties.put("partitioner.class", "com.goodix.kafka.MyPartition");
KafkaProducer<byte[], String> producer = new KafkaProducer<byte[], String>(properties);
ProducerRecord<byte[], String> record = new ProducerRecord<byte[], String>("app-log-test-1", "ni shi shei".getBytes(), "ni shi shei");
producer.send(record, new Callback() {
@Override
public void onCompletion(RecordMetadata metadata, Exception exception) {
if (null != exception) {
LOGGER.error("error, {}", exception.getMessage());
} else {
LOGGER.info("The offset of the record we just sent is: " + metadata.offset());
LOGGER.info("The partition of the record we just sent is: " + metadata.partition());
}
}
});
try {
Thread.sleep(1000);
producer.close();
} catch (InterruptedException exception) {
exception.printStackTrace();
}
}
}