Springboot-kafka的入门使用
1. 导入依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
2. 编写消费者和生产者配置
spring:
application:
name: sringboot-kafka-lemon
kafka:
# 指定kafka地址
bootstrap-servers: 172.17.10.110:9092
# 配置指定的key和value的序列化器
producer:
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.apache.kafka.common.serialization.StringSerializer
# 配置指定的key和value的反序列化器
consumer:
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
# 指定消费者组
group-id: lemon
3. ProducerController
@RestController
public class ProducerController {
@Autowired
KafkaTemplate<String,String> kafkaTemplate;
/**
* 发送到指定的topic
*/
@RequestMapping("/send")
public String send(String msg){
kafkaTemplate.send("firstSend", msg);
return "发送成功";
}
}
4. Kafkaconsumer
@Component
public class KafkaConsumer {
@KafkaListener(topics = "firstSend")
public void consumerTopics(String msg){
System.out.println("receive:"+msg);
}
}
5. 测试
localhost:8080/send/msg="hello,kafka“