RabbitMQ使用教程(一)RabbitMQ环境安装配置及Hello World示例 (2)

浏览器输入:15672/,我们可以看到RabbitMQ的管理后台,然后使用默认的guest账号登录,在这个后台,可以完成新建用户,配置用户角色,新建队列等操作,当然,如果有的同学比较喜欢命令行操作,也都有相对应的命令来完成操作,关于这些内容,后续单独再写博客讲解。

RabbitMQ使用教程(一)RabbitMQ环境安装配置及Hello World示例

RabbitMQ使用教程(一)RabbitMQ环境安装配置及Hello World示例

3.Hello World示例

既然RabbitMQ环境安装好了,那么我们通过1个简单的示例来看下效果。

首先在pom文件中,添加依赖:

<dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.7.0</version> </dependency>

然后新建一个生产者类(Producer),用来新建一个队列'hello',然后往队列里发送消息‘Hello World’:

package com.zwwhnly.springbootaction.rabbitmq.helloworld; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory; import java.io.IOException; import java.util.concurrent.TimeoutException; public class Producer { private final static String QUEUE_NAME = "hello"; public static void main(String[] args) throws IOException, TimeoutException { // 创建连接 ConnectionFactory factory = new ConnectionFactory(); // 设置 RabbitMQ 的主机名 factory.setHost("localhost"); // 创建一个连接 Connection connection = factory.newConnection(); // 创建一个通道 Channel channel = connection.createChannel(); // 指定一个队列,不存在的话自动创建 channel.queueDeclare(QUEUE_NAME, false, false, false, null); // 发送消息 String message = "Hello World!"; channel.basicPublish("", QUEUE_NAME, null, message.getBytes()); System.out.println(" [x] Sent '" + message + "'"); // 关闭频道和连接 channel.close(); connection.close(); } }

运行代码,在RabbitMQ管理后台,会看到队列新建成功,并且有1个消息待消费:

RabbitMQ使用教程(一)RabbitMQ环境安装配置及Hello World示例

最后我们新建一个消费者类(Consumer),用来消费这个消息:

package com.zwwhnly.springbootaction.rabbitmq.helloworld; import com.rabbitmq.client.*; import java.io.IOException; import java.util.concurrent.TimeoutException; public class Consumer { private final static String QUEUE_NAME = "hello"; public static void main(String[] args) throws IOException, TimeoutException { // 创建连接 ConnectionFactory factory = new ConnectionFactory(); // 设置 RabbitMQ 的主机名 factory.setHost("localhost"); // 创建一个连接 Connection connection = factory.newConnection(); // 创建一个通道 Channel channel = connection.createChannel(); // 指定一个队列 channel.queueDeclare(QUEUE_NAME, false, false, false, null); // 创建队列消费者 com.rabbitmq.client.Consumer consumer = new DefaultConsumer(channel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String message = new String(body, "UTF-8"); System.out.println("Received Message '" + message + "'"); } }; channel.basicConsume(QUEUE_NAME, true, consumer); } }

运行代码,我们会发现控制台输出:

Received Message 'Hello World!'

此时再看下RabbitMQ管理后台,会发现队列'hello'待消费的消息为0:

RabbitMQ使用教程(一)RabbitMQ环境安装配置及Hello World示例

是不是觉得挺简单的呢,赶紧在本机安装试试吧!

4.源码

源码地址:https://github.com/zwwhnly/springboot-action.git,欢迎下载。

5.参考链接

windows下 安装 rabbitMQ 及操作常用命令

【译】RabbitMQ 实战教程(一) Hello World!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxzwy.html