在windows上安装RabbitMQ

      Rabbit是一个在AMQP协议标准基础上完善的,可用于企业消息系统。他遵循Mozilla Public License开源协议。

采用Erlang实现的工业级的消息队列(消息)服务器。官网地址:点击打开链接


1、下载安装

由于采用Erlang服务器,所以首先要去下载:http://www.erlang.org/download.html ,下载即可,注意自己系统

版本,由于我系统是64位,所有下载了:otp_win64_19.1.exe 并安装。

      

2、配置环境变量

在本系统环境变量中增加一个变量:ERLANG_HOME ,配置为:E:\RabbitMQ\erl8.1


3、下载RabbitMQ

本机测试下载了2.8.1,即:点击打开链接


4、解压安装

解压后,找到sbin目录,运行其中的rabbitmq-server.bat,启动RabbitMQ服务器。由于RabbitMQ是用AMQP协议,

而客户端支持多种语言(Java、.net、C/C++,Erlang.....)。下面,我用java来写一个Hello World,来测试RabbitMQ

安装是否success。


5、下载RabbitMQ版的java客户端

下载地址: 点击打开链接。本机是rabbitmq-java-client-bin-3.6.5,解压后将里面的jar 包copy到我们的java工程中。


6、写代码

项目结构:



Receive.java

import java.io.IOException;
import java.util.concurrent.TimeoutException;

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

public class Receive {

	private final static String QUEUE_NAME = "hello";

	public static void main(String[] args) throws IOException,
			InterruptedException {
		try {
			ConnectionFactory factory = new ConnectionFactory();
			factory.setHost("localhost");
			Connection 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) {
				QueueingConsumer.Delivery delivery = consumer.nextDelivery();
				String message = new String(delivery.getBody());
				System.out.println(" [x] Received '" + message + "'");
			}
		} catch (TimeoutException e) {
			e.printStackTrace();
		}
		
	}

}

Send.java

import java.io.IOException;
import java.util.concurrent.TimeoutException;

import com.rabbitmq.client.Channel;
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[] args) throws IOException {
		try{
			ConnectionFactory factory = new ConnectionFactory();
			factory.setHost("localhost");
			Connection connection;
			connection = factory.newConnection();
			Channel channel = connection.createChannel();

			channel.queueDeclare(QUEUE_NAME, false, false, false, null);
			String message = "cao 没有";
			channel.basicPublish("", QUEUE_NAME, null, message.getBytes());
			System.out.println(" [x] Sent '" + message + "'");
			channel.close();
			connection.close();
		}catch (TimeoutException e){
			e.printStackTrace();
		}
	}

}



7、测试

先运行Receive,再运行Send两次,看看消费者是否接受到了2条消息,表明RabbitMQ的环境success。

8、RabbitMQ自带监控

      1.   cmd进入sbin目录,输入rabbitmq-plugins enable rabbitmq_management 启动监控管理,然后

            重启RabbitMQ服务。

      2.   浏览器打开:http://localhost:55672,用户名和密码都是guest。

      3.    关掉Receive,再次运行Send,然后点击管理页面的Queue。


             点击hello进入,并点击Get Message,可以看到Hello World信息的确已经传到RabbitMQ服务了。

     

        java测试代码:

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值