上次搭建的 Kafka 单机环境已经完成了,现在应该整合 SpringBoot 简单使用 Kafka 了。let's go!
新建一个 SpringBoot 项目
引入依赖
引入依赖:Spring-kafka
注意:SpringBoot 版本需要和 Spring-Kafka 版本对应,否则项目启动不了
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
<version>2.7.1</version>
</dependency>
参考:官网查看对应版本关系spring.io/projects/sp…
添加配置文件
这里是最简单的配置,只需要配置 Kafka 的连接地址端口即可进行简单的测试。
spring:
kafka:
bootstrap-servers: XXXX:9092 #指定 Kafka Broker 地址,可以设置多个,以逗号分隔
代码
@RestController
public class KafkaDemo {
private final Logger logger = LoggerFactory.getLogger(KafkaDemo.class);
//Spring-kafka 提供的模板操作,直接引入
@Autowired
private KafkaTemplate kafkaTemplate;
//调用 KafkaTemplate#send(topic,message) 方法:将 message 写入 topic 分类下
@GetMapping("/send/{input}")
public void send(@PathVariable String input) {
kafkaTemplate.send("topic_input", input);
}
//@KafkaListener 注解,消费指定 topic 下面的消息
@KafkaListener(topics = "topic_input")
public void listen(String input) {
logger.info("input value:{}", input);
}
}
上面代码使用接口触发,如:
localhost:8080/send/hhh
- 控制台会输出 hhh
- 直接 kafak 服务器上用命令行测试消费消息,也会打印:hhh
-
- bin/kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic topic_input--from-beginning