windows本地部署RabbitMQ

本地部署RabbitMQ

一.下载RabbitMQ管理工具

1.windows下载地址:

http://www.rabbitmq.com/install-windows.html

2.Linux,BSD, UNIX下载地址:

①:Debian and Ubuntu

http://www.rabbitmq.com/install-debian.html#downloads

②:RHEL, CentOS, Fedora, openSUSE

http://www.rabbitmq.com/install-rpm.html

③:Generic UNIX Build

http://www.rabbitmq.com/install-generic-unix.html

***linux系统版本介绍

根据用途不同可以做如下划分:

1、家庭用途可选择版本有:Linux Mint、Ubuntu、OpenSUSE、Fedora、PC-BSD

2、商业用途可选择版本有:Debian、RHEL、CentOS

3、挑战用途可选择版本有:Gentoo、LFS

4、理想用途可选择版本有:FreeBSD、OpenBSD、Solaris、OpenSolaris

二.下载Erlang(安装RabbitMQ需要安装Erlang)

1.安装Erlang时需要注意与RabbitMQ的版本是否对应。

RabbitMQ与Erlang版本对应关系:

http://www.rabbitmq.com/which-erlang.html

2.下载地址

http://www.erlang.org/downloads

3.安装Erlang及环境配置

①:安装完成之后需要配置Erlang环境变量

ERLANG_HOME F:\erl10.2

Path ;%ERLANG_HOME%\bin

②:测试环境变量是否配置成功

cmd然后erl -version 

三、安装RabbitMQ并启动

1.启动RabbitMQ

cmd到RabbitMQ的安装目录下的sbin目录执行命令:

rabbitmq-plugins.bat enable rabbitmq_management

2.打开RabbitMQ管理地址

15672:控制台端口号

5672:应用访问端口号

http://localhost:15672/#/

账号密码默认为guest/guest

四.测试RabbitMQ

1.代码依赖jar包

①:amqp-client 

②:rabbitmq-client

jar包下载地址:

http://maven.outofmemory.cn/com.rabbitmq/

***

本地测试不需要设置IP、端口号、账号、密码,如果修改过以上内容则需要重新指定

默认使用IP:127.0.0.1

默认使用端口号:5672

默认使用账号:guest

默认使用密码:guest

2.生产者代码

import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.Channel;

public class testRabbitMQProducer {
    private final static String QUEUE_NAME = "RabbitMQ_Test"; // 消息队列名

    public static void main(String[] argv) throws Exception {
        // 创建连接连接到RabbitMQ
        ConnectionFactory factory = new ConnectionFactory();
        // 设置ip
        //factory.setHost("localhost");
        //设置端口
        //factory.setPort(5672);
        //设置用户名
        //factory.setUsername("guest");
        //设置密码
        //factory.setPassword("guest");
        //设置url(包括ip、端口、用户名、密码)
        //factory.setUri("amqp://guest:guest@localhost:5672");
        // 创建一个连接
        Connection connection = factory.newConnection();
        // 创建一个频道
        Channel channel = connection.createChannel();
        // 指定一个队列
        channel.queueDeclare(QUEUE_NAME, false, false, false, null);
        String message = "hello";
        // 往队列中发出一条消息
        channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
        System.out.println(" [x] Sent '" + message + "'");
        // 关闭频道和连接
        channel.close();
        connection.close();
    }
}

3.消费者代码

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.QueueingConsumer;

//消费者
public class testRabbitMQConsumer {
    private final static String QUEUE_NAME = "RabbitMQ_Test"; // 消息队列名

    public static void main(String[] argv) throws Exception {
        ConnectionFactory factory = new ConnectionFactory();
        //factory.setHost("127.0.0.1");
        // 打开连接和创建频道,与发送端一样
        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) { // 消费者程序运行开着 如果生产者新增了数据会自动获取
            Thread.sleep(500);
            // nextDelivery是一个阻塞方法(内部实现其实是阻塞队列的take方法)
            QueueingConsumer.Delivery delivery = consumer.nextDelivery();
            String message = new String(delivery.getBody());
            System.out.println("'[x] Received '" + message);
        }
    }
}

五.运行生产者消费者进行测试

1.运行生产者

①:运行之后会产生一条待消费的消息序列

2.运行消费者

(消费者运行之后会一直在等待消费,一有消息就进行消费,消费完之后继续等待)

①:运行之后成功消费此条消息序列

 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值