赞
踩
之前的文章写了Spring-Kafka的消费模型和执行流程,最后有提到,在执行真实的消费方法之前会调用消费者的拦截器处理消息,最后再交给RecordMessagingMessageListenerAdapter进行代理和反射调用消费方法。
对于消费者,SpringBoot在整合方式中的spring-kafka并没有用原生的ConsumerConnector,,而是借助原生client的拉取消息功能做了自己的消费模型的实现,提供了@KafkaListener注解这种方式实现消费。
因此本文介绍的拦截器也是基于Spring-kafka的拦截器,而不是kafka原生client的拦截器机制
org.springframework.kafka.listener.RecordInterceptor 这个接口是Spring-Kafka提供的消息消费端拦截器接口,可以将实现这个接口的拦截器实例添加到ConcurrentMessageListenerContainer 中,在启动是会为每个 KafkaMessageListenerContainer 都设置拦截器实例,保证每个消费者都拥有相同的拦截器链处理能力。
执行位置如下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。