RabbitMQ 是时下流行的分布式消息系统,本实验手册演示如何通过 RabbitMQ 的 Java 客户端访问消息。
在第一次练习中,我们首先搭建开发环境及实现一个简单的消息生产者,其中使用的案例参考了 RabbitMQ 的官方文档。
搭建开发环境
当然,我们首先需要一个已经运行起来的 RabbitMQ 服务。 在开发环境,使用 Docker 进行安装最方便,最快捷的。如果你还没有安装,可以参考 在Docker中使用 RabbitMQ 服务器 进行安装。
Java 我们使用 Java 8, 这是当下主流 Java 版本。
IDE 推荐使用 IDEA Community 版本
以上资源都是免费的。
搭建项目
在 IDE 中新建一个 maven 项目,但项目建好后,打开 pom.xml 文件,加入以下依赖:
1 | <!-- RabbitMQ Java Client --> |
因为需要项目中需要使用 Java 8 的特性,所以在 maven 中指定了编译版本:
1 | <build> |
完整的 pom.xm 文件如下:
1 |
|
开发消息发送者
在 RabbitMQ Java Cient 中,它将连接 RabbitMQ 服务及发送消息的逻辑封装在 Connection, Channel 这两个主要的类中。要发送消息,我们首先需要建立连接(Connection) 然后再通过通道(Channel)进行消息发送。代码如下:
1 | ConnectionFactory factory = new ConnectionFactory(); |
在上面的代码中,我们使用了 Java 7 中新的 try 语法来保证资源(Connection, Channel)在使用以后能够关闭。
完整的类代码如下:
1 | import com.rabbitmq.client.ConnectionFactory; |
测试消息发送
为测试上面的发送者代码,我们构建一个单元测试,测试类如下:
1 | "Message Sender") ( |
运行 testHelloWorldSender 方法以后,我们可以通过 RabbitMQ 的 WEB 管理界面进行查看,可以看到新添加了一个名为: hello 的 queue, 并且可以看到当前有一条消息在 queue 里面。
下一步
下一步,我们将编写一个简单的消息接收者