如何自实现不依赖Spring的RabbitMQ消息消费机制?

摘要:在不依赖Spring的情况下,基于RabbitMQ Java Client提供的 API,实现了消息消费、多消费者以及负载均衡;没有 Spring,我们照样可以很优雅的消费RabbitMQ的消息
开心一刻 上午一好哥们微信我 哥们:哥们在干嘛,晚上出来吃饭 我:就我俩吗 哥们:对啊 我:那多没意思,我叫俩女的出来 哥们:好啊,哈哈哈 晚上吃完饭到家后,我给哥们发消息 我:今天吃的真开心,下次继续 哥们:开心尼玛呢!下次再叫你老婆和你女儿来,我特么踢死你 写在前面 正文开始之前了,我们先来正确审视下文章标题:不依赖 Spring,你会如何自实现 RabbitMQ 消息的消费,主要从两点来进行审视 不依赖 Spring 作为一个 Javaer,关于 Spring 的重要性,我相信你们都非常清楚;回头看看你们开发的项目,是不是都是基于 Spring 的?如果不依赖 Spring,你们还能继续开发吗?不过话说回来,既然 Spring 能带来诸多便利,该用还得用,不要头铁,不要造低效轮子! 如果能造出比 Spring 优秀的轮子,那你应该造! 你们可能会说:不依赖 Spring 就不依赖嘛,我可以依赖 Spring Boot 噻;你们要是这么聊天,那就没法聊了 Spring Boot 是不是基于 Spring 的?没有 Spring,Spring Boot 也是跑不起来的;不依赖 Spring 的言外之意就是不依赖 Spring 生态,当然也包括 Spring Boot 关于 不依赖 Spring,我就当你们审视清楚了哦 依赖 RabbitMQ Java Client 与 RabbitMQ 服务端的交互,咱们就不要逞强去自实现了,老实点用官方提供的 Java Client 就好 <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.7.3</version> </dependency> 注意 client 版本要与 RabbitMQ 版本兼容 所以文章标题就可以转换成 只依赖 RabbitMQ Java Client,不依赖 Spring,如何自实现 RabbitMQ 消息的消费 另外,我再带你们回顾下 RabbitMQ 的 Connection 和 Channel Connection Connection 是客户端与 RabbitMQ 服务器之间的一个 TCP 连接,它是进行通信的基础,允许客户端发送命令到 RabbitMQ 服务器并接收响应;Connection 是比较重的资源,不能随意创建与关闭,一般会以 池 的方式进行管理。每个 Connection 可以包含多个 Channel Channel Channel 是 多路复用 连接(Connection)中的一条独立的双向数据流通道。客户端与 RabbitMQ 服务端之间的大多数操作都是在 Channel 上进行的,而不是在 Connection 上直接进行。
阅读全文