赞
踩
使用Java开发生产者/消费者客户端需要先引入Pom依赖:
<!-- 使用Kafaka生产者/消费者客户端需要的依赖 -->
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>2.0.0</version>
</dependency>
/** * Java生产者客户端 */ public class ProducerFastStart { public static final String brokerList = "localhost:9092"; public static final String topic = "topic-learn"; /** * 构建生产者客户端配置参数 */ public static Properties initConfig() { Properties proper = new Properties(); proper.put("bootstrap.servers", brokerList); proper.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); proper.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer"); proper.put("client.id", "producer.client.id.demo"); return proper; } public static void main(String[] args) { Properties proper = initConfig(); // 创建一个生产者客户端实例 KafkaProducer<String, String> producer = new KafkaProducer<>(proper); // 构建所需要发送的消息 ProducerRecord<String, String> record = new ProducerRecord<>(topic, "Hello,Kafka"); // 发送消息 producer.send(record); // 关闭生产者客户端实例 producer.close(); } }
bootstrap.servers
、key.serializer
和value.serializer
是生产者客户端连接kafak必备的参数;ProductConfig
的常量配置,每一个生产者客户端需要的参数都有一个常量名;StringSerializer.class.getName()
,其中getName()
方法是获取全限定类名,getShortName()
方法是只获取类名;bootstrap.servers
:连接Kafka集群所需要的broker地址清单。可以设置一个或多个,中间以逗号隔开,默认值是"";
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。