需要使用 spring-kafka 中的 KafkaListener 注解的使用方式
时间: 2023-09-02 20:07:18 浏览: 226
使用 KafkaListener 注解可以让 Spring Boot 应用轻松地消费 Kafka 消息。
步骤如下:
1. 引入 spring-kafka 依赖。
```xml
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
<version>2.2.2.RELEASE</version>
</dependency>
```
2. 在 Spring Boot 应用的配置文件中配置 Kafka 生产者和消费者的相关信息。
```yaml
spring.kafka.bootstrap-servers=localhost:9092
spring.kafka.consumer.group-id=my-group
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 消费者,定义一个方法用于处理消息。
```java
@Component
public class KafkaConsumer {
@KafkaListener(topics = "my-topic", groupId = "my-group")
public void receive(String message) {
System.out.println("Received message: " + message);
}
}
```
4. 创建一个 Kafka 生产者,发送消息。
```java
@Component
public class KafkaProducer {
@Autowired
private KafkaTemplate<String, String> kafkaTemplate;
public void send(String message) {
kafkaTemplate.send("my-topic", message);
}
}
```
5. 在任何需要发送消息的地方注入 KafkaProducer,调用 send 方法发送消息即可。
```java
@Autowired
private KafkaProducer kafkaProducer;
public void sendMessage() {
kafkaProducer.send("hello, kafka");
}
```
以上就是使用 spring-kafka 中的 KafkaListener 注解的基本使用方式。
阅读全文