RabbitMQ:安装、配置
来源:互联网 发布:淘宝主账号不收取信息 编辑:程序博客网 时间:2024/06/07 02:01
1.安装Erlang
- 1
- 配置erlang环境变量:
测试一下是否安装成功,在控制台输入命令erl
2.安装RabbitMQ
下载安装RabbitMQ:
- 下载安装
解压后多了个文件夹rabbitmq-server-3.6.1 ,重命名为rabbitmq以便记忆。
- 1
- 配置rabbitmq环境变量:
- 1
- 2
- 3
- 4
- 启动服务:
- 1
- 2
查看状态,如果显示如下截图说明安装成功:
配置网页插件:
首先创建目录,否则可能报错:
- 1
然后启用插件:
- 1
配置防火墙:
配置linux 端口 15672 网页管理 5672 AMQP端口:
- 1
- 2
- 3
现在你在浏览器中输入服务器IP:15672 就可以看到RabbitMQ的WEB管理页面了,是不是很兴奋,可是你没有账号密码,别急。
3.开启服务
在开始菜单中,点击RabbitMQ Service Start开开启服务,可以到服务管理器中去确认是否开启成功。下图是当前机器上找到的相关服务,状态为已启动。
打开命令行命令行,进入RabbitMQ的安装目录: cd rabbitmq_server-3.5.2\sbin
,输入 rabbitmqctl status , 如果出现以下的图,说明安装是成功的,并且说明现在RabbitMQ Server已经启动了,运行正常。
4.配置RabbitMQ
1.在开始菜单中找到RabbitMQ Command Promt,打开控制台2 输入命令
rabbitmq-plugins enable rabbitmq_management
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
public class Send {
//队列名称
private final static String QUEUE_NAME = "hello";
public static void main(String[] argv) throws java.io.IOException, TimeoutException
{
/**
* 创建连接连接到MabbitMQ
*/
ConnectionFactory factory = new ConnectionFactory();
//设置MabbitMQ所在主机ip或者主机名
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();
}
}
接收端代码
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.QueueingConsumer;
public class Recv {
//队列名称
private final static String QUEUE_NAME = "hello";
public static void main(String[] argv) throws java.io.IOException,
java.lang.InterruptedException, TimeoutException
{
//打开连接和创建频道,与发送端一样
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost");
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
//声明队列,主要为了防止消息接收者先运行此程序,队列还不存在时创建队列。
channel.queueDeclare(QUEUE_NAME, false, false, false, null);
System.out.println(" [*] Waiting for messages. To exit press CTRL+C");
//创建队列消费者
QueueingConsumer consumer = new QueueingConsumer(channel);
//指定消费队列
channel.basicConsume(QUEUE_NAME, true, consumer);
while (true)
{
//nextDelivery是一个阻塞方法(内部实现其实是阻塞队列的take方法)
QueueingConsumer.Delivery delivery = consumer.nextDelivery();
String message = new String(delivery.getBody());
System.out.println(" [x] Received '" + message + "'");
}
}
}
- RabbitMQ安装配置手册
- rabbitmq 安装配置
- rabbitmq安装配置手记
- Rabbitmq的安装配置
- rabbitMQ安装配置
- rabbitmq安装和配置
- RabbitMQ安装配置学习
- rabbitmq安装与配置
- RabbitMQ安装和配置
- CentOS7安装配置RabbitMQ
- RabbitMQ 下载安装配置
- rabbitmq 安装与配置
- rabbitmq 的安装配置
- RabbitMQ 安装和配置
- RabbitMQ 安装和配置
- rabbitMQ的安装配置
- RabbitMQ服务安装配置
- rabbitMQ 安装配置
- found duplicated code in this file
- pycharm idea refresh刷新
- vs studio 怎么使用mysql实体模型向导
- 自定义feign配置与服务调用的安全验证
- unity 在移动平台中,文件操作路径详解
- RabbitMQ:安装、配置
- QTableView基本用法
- C++ Virtual详解
- 其他-如何获取父类中的泛型T的类型
- CentOS 7 部署 Kubernetes
- 列表解析 最简单解释
- 微服务系列文章示例代码
- 企业宣传片需要取名吗?如何给企业宣传片命名
- Boost库使用----date_time类库