Spring Boot 集成 Kafka
1.1. 版本说明
构件 |
版本 |
spring-boot |
2.7.18 |
spring-kafka |
2.8.11 |
1.2. Spring 配置
| spring: |
| application: |
| name: spring-kafka-basic-demo |
| kafka: |
| bootstrap-servers: localhost:9092 |
| producer: |
| client-id: spring-kafka-basic-demo-producer |
| consumer: |
| client-id: spring-kafka-basic-demo-consumer |
| group-id: spring-kafka-basic-demo-group |
| kafka: |
| topic: |
| basic-demo-topic: spring-kafka-basic-demo-topic |
1.5. 测试
| @Component |
| @Slf4j |
| public class SpringKafkaBasicDemo implements ApplicationRunner { |
| |
| @Value("${kafka.topic.basic-demo-topic}") |
| private String basicDemoTopic; |
| |
| @Resource |
| private KafkaTemplate<String, String> kafkaTemplate; |
| |
| @Override |
| public void run(ApplicationArguments args) throws Exception { |
| String payload = "Hello Topic!"; |
| kafkaTemplate.send(basicDemoTopic, payload); |
| log.info("sent a message, topic: {}, payload: {}", basicDemoTopic, payload); |
| } |
| |
| @KafkaListener(topics = "${kafka.topic.basic-demo-topic}") |
| public void listen(Message<String> message) { |
| log.info( |
| "received a message, topic: {}, offset: {}, payload: {}", |
| message.getHeaders().get(KafkaHeaders.RECEIVED_TOPIC), |
| message.getHeaders().get(KafkaHeaders.OFFSET), |
| message.getPayload() |
| ); |
| } |
| } |
启动程序,控制台将输出:
| sent a message, topic: spring-kafka-basic-demo-topic, payload: Hello Topic! |
| received a message, topic: spring-kafka-basic-demo-topic, offset: 13, payload: Hello Topic! |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术