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!");  
        };  
    }  
}
相关推荐
Chan1610 小时前
【 Java八股文面试 | JavaSE篇 】
java·jvm·spring boot·面试·java-ee·八股
FG.11 小时前
LangChain4j
java·spring boot·langchain4j
oMcLin12 小时前
如何在Oracle Linux 8.4上搭建并优化Kafka集群,确保高吞吐量的实时数据流处理与消息传递?
linux·oracle·kafka
码农水水13 小时前
中国邮政Java面试:热点Key的探测和本地缓存方案
java·开发语言·windows·缓存·面试·职场和发展·kafka
a努力。13 小时前
国家电网Java面试被问:最小生成树的Kruskal和Prim算法
java·后端·算法·postgresql·面试·linq
smileNicky14 小时前
SpringBoot系列之集成Pulsar教程
java·spring boot·后端
麦麦大数据15 小时前
J009 美食推荐可视化大数据系统vue+springboot
vue.js·spring boot·mysql·推荐算法·美食·可视化分析·沙箱支付
rfidunion15 小时前
springboot+VUE+部署(1。新建项目)
java·vue.js·spring boot
小翰子_15 小时前
Spring Boot整合Sharding-JDBC实现日志表按月按周分表实战
java·spring boot·后端
千寻技术帮15 小时前
10347_基于Springboot的新疆旅游管理系统
spring boot·mysql·旅游·在线旅游