RabbitMQ学习笔记

安装

Windows安装

安装erLang语言

进入官网

RabbitMQ学习笔记

下载完之后一直下一步安装即可,安装完成后进入目录,配置环境变量

RabbitMQ学习笔记

RabbitMQ学习笔记

安装RabbitMQ服务端

Release RabbitMQ 3.7.3 · rabbitmq/rabbitmq-server (Github.com)

RabbitMQ学习笔记

一直下一步安装即可

安装完成后打开安装目录,进入到这个文件夹打开命令行

RabbitMQ学习笔记

输入命令安装插件

  1. rabbitmq-plugins enable rabbitmq_management

完成后双击rabbitmq-server.bat

打开http://localhost:15672/

用户名密码是guest/guest

RabbitMQ学习笔记

RabbitMQ学习笔记

Linux下使用 Docker 安装

直接拉取最新版

  1. docker pull rabbitmq

运行容器

  1. docker run -d --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq

进入容器

  1. docker exec -it rabbit /bin/bash

开启管理插件

  1. rabbitmq-plugins enable rabbitmq_management

RabbitMQ学习笔记

打开管理网站 http://localhost:15672/

用户名密码均为guest

RabbitMQ学习笔记

实操

新建Maven项目

添加依赖

  1. <dependency>

  2. <groupId>com.rabbitmq</groupId>

  3. <artifactId>amqp-client</artifactId>

  4. <version>5.0.0</version>

  5. </dependency>

编写发送端

  1. package org.example;


  2. import Java.util.concurrent.TimeoutException;


  3. import com.rabbitmq.client.Channel;

  4. import com.rabbitmq.client.Connection;

  5. import com.rabbitmq.client.ConnectionFactory;


  6. public class Send

  7. {

  8. //队列名称

  9. private final static String QUEUE_NAME = "helloMQ";


  10. public static void main(String[] argv) throws java.io.IOException, TimeoutException

  11. {

  12. /**

  13. * 创建连接连接到MabbitMQ

  14. */

  15. ConnectionFactory factory = new ConnectionFactory();

  16. //设置MabbitMQ所在主机ip或者主机名

  17. factory.setHost("localhost");

  18. //创建一个连接

  19. Connection connection = factory.newConnection();

  20. //创建一个频道

  21. Channel channel = connection.createChannel();

  22. //指定一个队列

  23. channel.queueDeclare(QUEUE_NAME, false, false, false, null);

  24. //发送的消息

  25. String message = "hello world!";

  26. //往队列中发出一条消息

  27. channel.basicPublish("", QUEUE_NAME, null, message.getBytes());

  28. System.out.println(" [x] Sent '" + message + "'");

  29. //关闭频道和连接

  30. channel.close();

  31. connection.close();

  32. }

  33. }

编写接收端

  1. package org.example;


  2. import com.rabbitmq.client.*;


  3. import java.io.IOException;


  4. public class Recv {


  5. // 队列名称

  6. private final static String QUEUE_NAME = "helloMQ";


  7. public static void main(String[] argv) throws Exception {


  8. // 打开连接和创建频道,与发送端一样

  9. ConnectionFactory factory = new ConnectionFactory();

  10. factory.setHost("localhost");

  11. Connection connection = factory.newConnection();

  12. Channel channel = connection.createChannel();

  13. //声明队列,主要为了防止消息接收者先运行此程序,队列还不存在时创建队列。

  14. channel.queueDeclare(QUEUE_NAME, false, false, false, null);

  15. System.out.println(" [*] Waiting for messages. To exit press CTRL+C");


  16. //创建消费者

  17. Consumer consumer = new DefaultConsumer(channel) {

  18. @Override

  19. public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,

  20. byte[] body) throws IOException {

  21. String message = new String(body, "UTF-8");

  22. System.out.println(" [x] Received '" + message + "'");

  23. }

  24. };

  25. channel.basicConsume(QUEUE_NAME, true, consumer);

  26. }

  27. }

运行接收端

RabbitMQ学习笔记

运行发送端,每运行一次发送一次消息

RabbitMQ学习笔记

管理网站上有接收端的连接(发送端发送后便断开连接了)

RabbitMQ学习笔记


原文始发于微信公众号(布沃布图):RabbitMQ学习笔记

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/24974.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!