springboot集成kafka

springboot集成kafka

  • [1. 添加 Maven 依赖](#1. 添加 Maven 依赖)
  • [2. 配置 Kafka](#2. 配置 Kafka)
  • [3. 创建 Kafka 生产者](#3. 创建 Kafka 生产者)
  • [4. 创建 Kafka 消费者](#4. 创建 Kafka 消费者)
  • [5. 运行和测试](#5. 运行和测试)

1. 添加 Maven 依赖

首先,在pom.xml 文件中添加 Spring Kafka 的依赖。

xml 复制代码
<dependencies>  
    <dependency>  
        <groupId>org.springframework.kafka</groupId>  
        <artifactId>spring-kafka</artifactId>  
        <version>版本号</version> 
    </dependency>  
</dependencies>

2. 配置 Kafka

在 application.properties 或 application.yml 中添加 Kafka 的配置信息。

java 复制代码
spring.kafka.bootstrap-servers=localhost:9092  
spring.kafka.consumer.group-id=myGroup  
spring.kafka.consumer.auto-offset-reset=earliest  
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer  
spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer  
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer  
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer

3. 创建 Kafka 生产者

创建一个服务类来发送消息到 Kafka 主题。

java 复制代码
import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.kafka.core.KafkaTemplate;  
import org.springframework.stereotype.Service;  
  
@Service  
public class KafkaProducerService {  
    @Autowired  
    private KafkaTemplate<String, String> kafkaTemplate;  
  
    public void sendMessage(String message) {  
        kafkaTemplate.send("myTopic", message);  
    }  
}

4. 创建 Kafka 消费者

创建一个类来监听 Kafka 主题并处理接收到的消息。

java 复制代码
import org.springframework.kafka.annotation.KafkaListener;  
import org.springframework.stereotype.Component;  
  
@Component  
public class KafkaConsumerService {  
  
    @KafkaListener(topics = "myTopic", groupId = "myGroup")  
    public void listen(String message) {  
        System.out.println("Received Message: " + message);  
    }  
}

5. 运行和测试

创建一个简单的 REST API 或使用 Spring Boot 的命令行运行器来测试 Kafka 的集成。

java 复制代码
import org.springframework.boot.CommandLineRunner;  
import org.springframework.boot.SpringApplication;  
import org.springframework.boot.autoconfigure.SpringBootApplication;  
import org.springframework.context.annotation.Bean;  
  
@SpringBootApplication  
public class KafkaApplication {  
  
    public static void main(String[] args) {  
        SpringApplication.run(KafkaApplication.class, args);  
    }  
  
    @Bean  
    public CommandLineRunner run(KafkaProducerService producer) {  
        return args -> {  
            producer.sendMessage("Hello Kafka!");  
        };  
    }  
}
相关推荐
爱吃山竹的大肚肚1 小时前
RocketMQ 4.x + Spring Boot 生产级集成方案(完整笔记)
spring boot·rocketmq·java-rocketmq
毕设源码_严学姐2 小时前
计算机毕业设计springboot心理健康辅导系统 高校学生心灵关怀服务平台的设计与实现 校园智慧心理服务系统的设计与实现
spring boot·后端·课程设计
姗姗的鱼尾喵3 小时前
Java 面试内容分享
java·spring boot·面试
杰克尼3 小时前
苍穹外卖--day11
java·数据库·spring boot·mybatis·notepad++
摇滚侠3 小时前
Java SpringBoot 项目,项目启动后执行的方法,有哪些方式实现
java·开发语言·spring boot
RDCJM4 小时前
SpringBoot + vue 管理系统
vue.js·spring boot·后端
steel80885 小时前
SSM与Springboot是什么关系? -----区别与联系
java·spring boot·后端
草履虫建模5 小时前
面试常问 SQL 优化八股文总结:慢查询、索引失效、回表、覆盖索引一次搞懂
java·数据库·spring boot·sql·面试·职场和发展·数据库架构
旷世奇才李先生5 小时前
043校园二手交易平台系统-springboot+vue
java·vue.js·spring boot
⑩-5 小时前
SaaS-Admin-项目场景题
java·数据库·spring boot