1、引入依赖
maven
<dependencies>
<!-- Spring Boot Starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- Spring Kafka -->
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<!-- Spring Boot Configuration Processor (Optional, for @ConfigurationProperties) -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
gradle
<dependencies>
<!-- Spring Boot Starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- Spring Kafka -->
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<!-- Spring Boot Configuration Processor (Optional, for @ConfigurationProperties) -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
2、配置文件
spring:
kafka:
bootstrap-servers: localhost:9092 # Kafka服务器地址
consumer:
group-id: my-group # 消费者组ID
auto-offset-reset: earliest # 如果Kafka中没有初始偏移量或者当前偏移量不存在,则从最早的记录开始消费
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer # 键的反序列化器
value-deserializer: org.apache.kafka.common.serialization.StringDeserializer # 值的反序列化器
# 其他配置...
3、代码
1、普通监听
package com.example.kafkademo;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.stereotype.Component;
@Component
public class KafkaMessageListener {
/**
* 监听Kafka消息
* @param message 接收到的消息
*/
@KafkaListener(topics = "test-topic", groupId = "my-group")
public void listen(String message) {
System.out.println("Received Message: " + message);
// 在这里处理接收到的消息
}
}
2、订阅发布模式
Spring框架中的发布订阅模式是一种常用的设计模式,它在事件驱动架构中扮演着重要角色。这种模式通过解耦事件的发送者(发布者)和接收者(订阅者)来提高系统的灵活性和可扩展性。下面我将详细介绍Spring中发布订阅模式的用处及其应用场景。
发布订阅模式的基本概念
~~~~~~~