[b][size=large][color=olive]MQ导入接口其实很简单,框架内部只是实现了Beanpostprocessor接口和ApplicationListener 接口即可。
1、在Beanpostprocessor接口找到使用了@EsbEIServiceService注解的Bean,获取Bean中的注解信息,包括队列连接工厂、监听队列、消息监听器Bean等信息。
2、在ApplicationListener接口中根据前面获取到的注解信息,生成DefaultMessageListenerContainer(内部实现异步消息监听)对象,
调用start()方法来实现对队列的消息监听。
(在start方法内部对每个消息监听器都会起一个单独的线程,在线程内部通过不断的循环来获取队列中的消息)
我们的Job导入接口类必须要实现Messagelistener接口,因此每个Job导入接口就是一个消息监听器。
Beanpostprocessor接口:Bean后处理器,在Bean初始化完成之后执行。容器中的每个Bean在完成依赖注入之后都要执行该接口。
ApplicationListener接口:在Spring全部加载完成之后,最后执行刷新上下文事件,这个时候会调用该方法。
[/color][/size][/b]
1、在Beanpostprocessor接口找到使用了@EsbEIServiceService注解的Bean,获取Bean中的注解信息,包括队列连接工厂、监听队列、消息监听器Bean等信息。
2、在ApplicationListener接口中根据前面获取到的注解信息,生成DefaultMessageListenerContainer(内部实现异步消息监听)对象,
调用start()方法来实现对队列的消息监听。
(在start方法内部对每个消息监听器都会起一个单独的线程,在线程内部通过不断的循环来获取队列中的消息)
我们的Job导入接口类必须要实现Messagelistener接口,因此每个Job导入接口就是一个消息监听器。
Beanpostprocessor接口:Bean后处理器,在Bean初始化完成之后执行。容器中的每个Bean在完成依赖注入之后都要执行该接口。
ApplicationListener接口:在Spring全部加载完成之后,最后执行刷新上下文事件,这个时候会调用该方法。
[/color][/size][/b]
本文深入探讨了MQ导入接口的实现原理,包括如何利用Beanpostprocessor和ApplicationListener接口进行消息队列的监听与处理。重点阐述了Job导入接口作为消息监听器的角色,以及其在异步消息监听过程中的作用。
2137

被折叠的 条评论
为什么被折叠?



