rabbit的官方文档相当不错,按照文档来基本就OK了.
先在windows下面搭建一个helloworld,安装的rabbitmq版本是3.6.5
参考官网 http://www.rabbitmq.com/install-windows.html
主要分下面5步:
1) 下载安装Erlang环境
2) 下载安装RabbitMQ Server
3) 启动server,并启用管理台插件
4) 登录管理台
5) 代码实现
1)下载安装Erlang环境
下载Erlang(小呀嘛小二郎)的包,安装官网http://www.erlang.org/downloads
下载的版本是 WIN64_19.1,安装一路下一步就OK了
2)下载安装RabbitMQ Server
下载rabbit server的安装包 ,rabbitmq-server-3.6.5.exe
这个安装也是一路下一步就OK了
3)启动server,并启用管理台插件
默认安装后是启动状态的,在开始菜单中找打对应菜单如下图
看名字就知道操作了.
也可以用命令行启动,到安装目录的sbin目录下
执行rabbitmq-server.bat启动 (安装后已经默认启动了)
用rabbitmq,当然要用他的管理台,默认是没有开启的,
还是到安装目录的sbin下面 执行 rabbitmq-plugins.bat list 查看插件列表,
然后执行 rabbitmq-plugins.bat enable rabbitmq_management 使管理插件生效,如下图
执行完成后,不需要重启,就可以用了.
4) 登录管理台
打开浏览器,输入 http://localhost:15672/ , 用户名密码都是 guest,即可进入管理界面.
据说rabbit的管理界面是几个开源mq里面做的最好的,当然要使用一下了.
官方文档 http://www.rabbitmq.com/management.html
5) 代码实现
这里就参考官方文档的HelloWorld的代码.里面也有说明http://www.rabbitmq.com/tutorials/tutorial-one-java.html
具体如下:
首先引入依赖jar包
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>3.6.5</version>
</dependency
发送方代码:
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[] argv) throws Exception {
ConnectionFactory factory = new ConnectionFactory();
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("UTF-8"));
System.out.println(" [x] Sent '" + message + "'");
channel.close();
connection.close();
}
}
接收方代码:
import com.rabbitmq.client.*;
import java.io.IOException;
public class Recv {
private final static String QUEUE_NAME = "hello";
public static void main(String[] argv) throws Exception {
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");
Consumer consumer = new DefaultConsumer(channel) {
@Override
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body)
throws IOException {
System.out.println("consumerTag"+consumerTag);
System.out.println("properties"+properties.getMessageId());
String message = new String(body, "UTF-8");
System.out.println(" [x] Received '" + message + "'");
}
};
channel.basicConsume(QUEUE_NAME, true, consumer);
}
}
总结下: windows下的安装相对简单,按官网操作很快就可以搞定.