代码如下:
public class SendMessage {
/**
* 自定义kafka生产者demo
*/
public static void main(String[] args) {
Properties props = new Properties();
//zookeeper地址
props.put("zookeeper.connect", "zoo1:2181,zoo2:2181,zoo3:2181");
//序列化类
props.put("serializer.class", "kafka.serializer.StringEncoder");
//同步方式
props.put("producer.type", "async");
//压缩方式
props.put("compression.codec", "1");
//broker地址
props.put("metadata.broker.list", "broker01:9092");
ProducerConfig config = new ProducerConfig(props);
//生产者对象
Producer<String, String> producer = new Producer<String, String>(config);
Random r = new Random();
for(int i=0;i<10;i++){
int id = r.nextInt(10000000);
int memberid = r.nextInt(100000);
int totalprice = r.nextInt(1000)+100;
int youhui = r.nextInt(100);
int sendpay = r.nextInt(3);
StringBuffer data = new StringBuffer();
data.append(String.valueOf(id))
.append("\t")
.append(String.valueOf(memberid))
.append("\t")
.append(String.valueOf(totalprice))
.append("\t")
.append(String.valueOf(youhui))
.append("\t")
.append(String.valueOf(sendpay))
.append("\t")
.append("2015-12-01");
System.out.println(data.toString());
///topic string数据
producer.send(new KeyedMessage<String, String>("test",data.toString()));
}
producer.close();
System.out.println("send over ------------------");
}
}