kafka producer demo 生产者

本文提供了一个简单的Kafka生产者示例,展示了如何使用Java API发送消息到指定主题。代码中通过ProducerConfig配置了metadata.broker.list、serializer.class和request.required.acks等参数。
摘要由CSDN通过智能技术生成

废话少说,直接上代码。


package com.ctcc.kafka.examples;


import java.util.Properties;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.ctcc.utils.ConfigUtils;
import kafka.javaapi.producer.Producer;
import kafka.producer.KeyedMessage;
import kafka.producer.ProducerConfig;


/**
 * producer生产消息的演示
 * @author heaven
 */
public class ProducerDemo {
private static final Logger logger = LoggerFactory.getLogger(ContinuousMessageProducer.class);
/**
* 声明message
*/
private String message;

/**
* 声明topic
*/
private String topic;


/**
* 构造方法
* @param topic
* @param message
*/
public ProducerDemo(String topic, String message) {
this.message = message;
this.topic = topic;
}


/**
* 发送消息
*/
public void sendData() {
Producer<String, String> producer = new Producer<String, String>(ProducerConfig());
KeyedMessage<String, String> data = new KeyedMessage<String, String>(this.topic, message);
producer.send(data);
producer.close();
logger.info("producer a message:" + message);
}


public static void main(String[] args) {
if (args == null || args.length != 2) {
logger.info("please input topicname and message!");
//System.exit(0);
args = new String[] { "wanghouda", "heihieheiheiheieh" };
}
new ProducerDemo(args[0], args[1]).sendData();
}


/**
* 设置配置
* @return
*/
public ProducerConfig ProducerConfig() {
Properties props = new Properties();
// 配置broker list
props.put("metadata.broker.list", ConfigUtils.getType("metadata.broker.list"));
props.put("serializer.class", ConfigUtils.getType("serializer.class"));
props.put("request.required.acks", ConfigUtils.getType("request.required.acks"));


return new ProducerConfig(props);


}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值