1 缘起
做RabbitMQ应用的时候,RabbitMQ是集成在一个项目中,即生产者和消费者在同一个后台项目中,消息生产后,直接消费。
某一次想到,如果把生产者和消费者分离,RabbitMQ是如何及时监听到生产的消息呢?
我使用的后台框架为SpringBoot,消息的监听是不是也有SpringBoot的功劳?
于是,开始了调试之旅。
2 如何找到正确的入口
从构建消费者开始入手。这是第一步探究RabbitMQ是如何监听和处理消息的。
即RabibtMQ监听注解:@RabbitListener
再进一步考量RabbitMQ也是比较特殊的一类应用:使用异步线程,处理信息,因此调试时从线程角度切入。
使用IDEA调试时,从Threads入手,提取需要的执行过程。
关于RabbitMQ的探究,我目前只能探究个大概。
3 消息监听和处理
SpringBoot集成RabbitMQ后,对消息进行:监听和处理。
开发人员只需要做好消息的处理即可完成业务开发,因为,消息的监听,SpringBoot的RabbitMQ模块已经做好了