一 客户端

1.打开eclipse,新建maven项目(new-->other-->Maven Project-->Artifact Id设为mykafka)。

2.配置Build Path。

右击项目名mykafka-->Build Path-->Configure Buiid Path-->
把原来的JRE干掉(点击JRE System Library [J2SE-1.5]-->remove)-->
添加新的JRE(点击Add Library-->JRE System Library-->选择Execution environment:JavaSE-1.7(jre1.8.0_171)>)

kafka5 编写简单生产者

3.添加如下2个依赖。

第一个:kafka-clients

kafka5 编写简单生产者

<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>2.0.0</version>
</dependency>

也可以到maven仓库( http://mvnrepository.com/)搜索kafka-clients找到此依赖。

将依赖复制到pom.xml中,保存。此时eclipse会自动从maven仓库下载相应jar包。

第二个:slf4j-simple

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple -->
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.25</version>
</dependency>

下载完成后如下所示

kafka5 编写简单生产者

4.将APP.java重命名为SimpleProducer.java。从官网拷贝示例代码,修改如下

 1 package cn.test.mykafka;
 2 
 3 import java.util.Properties;
 4 
 5 import org.apache.kafka.clients.producer.KafkaProducer;
 6 import org.apache.kafka.clients.producer.Producer;
 7 import org.apache.kafka.clients.producer.ProducerRecord;
 8 
 9 /**
10  * 简单生产者
11  *
12  */
13 
14 public class SimpleProducer {
15 
16     public static void main(String[] args) {
17         
18          //创建配置信息
19          Properties props = new Properties();
20          props.put("bootstrap.servers", "192.168.42.133:9092"); //指定broker的节点和端口
21          props.put("acks", "all");
22          props.put("retries", 0);
23          props.put("batch.size", 16384);
24          props.put("linger.ms", 1);
25          props.put("buffer.memory", 33554432);
26          props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
27          props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
28 
29          //创建一个生产者
30          Producer<String, String> producer = new KafkaProducer<>(props);
31          
32          //发送消息
33          ProducerRecord<String, String> msg = new ProducerRecord<String, String>("test-topic","hello world from win7");
34          producer.send(msg);
35          //for (int i = 0; i < 10; i++)
36          //   producer.send(new ProducerRecord<String, String>("test-topic", Integer.toString(i), Integer.toString(i))); //topic,key(非必填),value 
37             
38          System.out.println("over");
39          producer.close();
40     }
41 }
SimpleProducer.java

相关文章:

  • 2021-07-16
  • 2021-06-10
  • 2022-12-23
  • 2022-12-23
  • 2021-12-18
  • 2022-01-04
  • 2021-05-23
  • 2022-12-23
猜你喜欢
  • 2022-02-07
  • 2021-12-05
  • 2021-09-23
  • 2021-07-12
  • 2021-06-16
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案