Spring Kafka 之 @KafkaListener 注解详解
@KafkaListener
注解用于定义一个方法作为Kafka消息的监听器,它可以用于消息的生产和消费。
以下是 @KafkaListener
注解的一些常用属性:
topics
:要监听的Kafka主题名称。可以是一个具体的主题名称,也可以是一个用逗号分隔的多个主题名称列表。groupId
:消费者组ID,用于指定这个监听器所属的消费者组。containerFactory
:指定用于创建消息监听容器的工厂bean的名称。errorHandler
:指定处理异常的处理器。topicsPattern
:用正则表达式指定要监听的主题模式。
下面是一个使用 @KafkaListener
注解的简单例子:
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.stereotype.Component;
@Component
public class KafkaConsumer {
@KafkaListener(topics = "myTopic", groupId = "myGroup")
public void listen(ConsumerRecord<?, ?> record) {
System.out.println("Received message in group myGroup: " + record);
}
}
在这个例子中,listen
方法会监听名为 myTopic
的Kafka主题,并属于名为 myGroup
的消费者组。当有消息到达时,该方法会被调用,并接收到的消息作为 ConsumerRecord
对象传入。
评论已关闭