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!");  
        };  
    }  
}
相关推荐
程序定小飞15 小时前
基于springboot的web的音乐网站开发与设计
java·前端·数据库·vue.js·spring boot·后端·spring
武昌库里写JAVA15 小时前
element-ui 2.x 及 vxe-table 2.x 使用 css 定制主题
java·vue.js·spring boot·sql·学习
爱宇阳17 小时前
Java Spring Boot 项目 Docker 容器化部署教程
java·spring boot·docker
ACGkaka_17 小时前
SpringBoot 实战(四十)集成 Statemachine
java·spring boot·后端
余衫马18 小时前
微服务SpringCloud报错合集
spring boot·gateway
一 乐20 小时前
流浪动物救助|流浪猫狗救助|基于Springboot+vue的流浪猫狗救助平台设计与实现(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·毕设
爱宇阳20 小时前
Spring Boot 项目 GitLab CI/CD 自动构建并推送到 Harbor 教程
spring boot·ci/cd·gitlab
L.EscaRC20 小时前
面向 Spring Boot 的 JVM 深度解析
jvm·spring boot·后端
老华带你飞21 小时前
订票系统|车票管理系统|基于Java+vue的车票管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·订票系统
陈果然DeepVersion21 小时前
Java大厂面试真题:Spring Boot+Kafka+AI智能客服场景全流程解析(十一)
java·spring boot·微服务·ai·kafka·面试题·rag