package com.hao.producer;
import kafka.javaapi.producer.Producer;
import kafka.producer.KeyedMessage;
import kafka.producer.ProducerConfig;
import java.io.IOException;
import java.util.List;
import java.util.Properties;
import java.util.Random;
import static com.hao.common.Commons.*;
/**
*
* 生产者
* Created by user on 2016/2/23.
*/
public class SimpleProducer {
private static Producer<String,String> producer;
private static Random random;
private final Properties properties = new Properties();
public SimpleProducer() {
properties.put("metadata.broker.list","localhost:9092");
properties.put("serializer.class","kafka.serializer.StringEncoder");
properties.put("partitioner.class","com.cheche.producer.SimplePartitioner");
properties.put("request.required.acks","1");
producer = new Producer<String, String>(new ProducerConfig(properties));
}
private static KeyedMessage<String, String> senData(String topic,String data){
String clientIP = "127.0.0." + random.nextInt(255);
return new KeyedMessage<>(topic,clientIP,data);
}
public static void main(String[] args) {
SimpleProducer sp = new SimpleProducer();
String topic = "mytopic";
// StringBuilder builder = new StringBuilder();
try {
List<String> linkList = readLink("D:/tmp/all_carhome_config.txt");
linkList.forEach(link -> {
KeyedMessage<String, String> data = senData(topic, link);
producer.send(data);
}
);
} catch (IOException e) {
e.printStackTrace();
}
producer.close();
}
}