1、将zookeeper以及kafka启动
2、添加依赖
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
3、生产者
package com.zpark.kafakaboot;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/kafka")
public class ProducerController {
@Autowired
public KafkaTemplate<String,String> kafkaTemplate;
@RequestMapping("/send")
public String send(String msg){
kafkaTemplate.send("animals",msg);
return "ok";
}
}
4、消费者
package com.zpark.kafakaboot;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/kafka")
public class ProducerController {
@Autowired
public KafkaTemplate<String,String> kafkaTemplate;
@RequestMapping("/send")
public String send(String msg){
kafkaTemplate.send("animals",msg);
return "ok";
}
}
5、配置信息为application.yml
spring:
kafka:
bootstrap-servers: hdp2:9092
producer:
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.apache.kafka.common.serialization.StringSerializer
consumer:
group-id: animals
enable-auto-commit: true
auto-commit-interval: 1000
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
6、测试
运行项目,执行:http://localhost:8080/kafka/send?msg=kkk
控制台会输出
topic =animals, offset = 9, value = kkk
本文介绍了如何在SpringBoot项目中集成Kafka,包括启动Zookeeper和Kafka、添加依赖、创建生产者和消费者、配置application.yml以及进行测试。通过发送HTTP请求到特定端点,可以看到消息被成功发送并打印在控制台上。
4272

被折叠的 条评论
为什么被折叠?



