@KafkaListener注解底层实现顺序

本文详细探讨了@KafkaListener注解在Spring Boot应用中的底层实现,从ApplicationContext和BeanPostProcessor的角色开始,逐步解析初始化过程,包括Bean的预处理、KafkaListenerAnnotationBeanPostProcessor的作用,以及如何将Kafka消息监听整合到Spring生命周期中。通过注册Endpoint到KafkaMessageListenerContainer,实现了消息监听和处理。文章以spring kafka 2.7.9为背景,揭示了Spring Bean注册和Kafka监听的完整流程。
摘要由CSDN通过智能技术生成

流程图

后面会拆开讲。

@KafkaListener

springBoot 主程序启动的过程中ApplicationContext允许容器通过应用程序上下文环境创建、获取、管理bean。

 public static void main(String[] args) {
        SpringApplication.run(MainApplication.class, args);
    }

BeanPostProcessor作用是在Bean对象在实例化和依赖注入完毕后,在显示调用初始化方法的前后添加我们自己的逻辑。

初始化后预处理

上述过程中,初始化bean之后,会检查容器中是否存在BeanPostProcessor,如果存在就调用postProcessBeforeInitialization方法。

如果返回null(或者所有的BeanPostProcessor执行完毕),则执行bean的初始化方法。

初始化后,再次判断容器中是否存在BeanPostProcessor,如果存在就调用postProcessAfterInitialization方法。

注解@KafkaListener就是使用这两个接口将kafka消息监听融入到spring生命周期中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值