一、找到rabbitmq安装路径,点击rabbitmq-server.bat启动:
路径:rabbitmq_server-3.6.14\sbin
rabbitmq-server.bat
浏览器输入:http://localhost:15672/
guest/guest
二、生产者代码如下:
package com.rabbitmq.test;
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 Test01 {
public static void main(String[] args) throws IOException, TimeoutException{
//创建链接工厂
ConnectionFactory connFac = new ConnectionFactory();
//默认链接的主机名,RabbitMQ-Server安装在本机,所以直接使用127.0.0.1
connFac.setHost("127.0.0.1");
//创建链接
Connection conn = connFac.newConnection();
//创建信息通道
Channel channel = conn.createChannel();
//创建一个名为queue01的队列,防止队列不存在
String queueName = "queue01";
//进行信息声明 1.队列化 2.是否持久化 3.是否局限与链接 4.不再使用是否删除 5.其他的属性
channel.queueDeclare(queueName, false, false, false, null);
String msg = "Hello World!";
//发送消息
channel.basicPublish("", queueName, null, msg.getBytes());
System.out.println("发送 message[" + msg + "] to " + queueName + " Success!" );
//关闭通道
channel.close();
//关闭链接
conn.close();
}
}
队列信息:
三、消费着代码
package com.rabbitmq.test;
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.QueueingConsumer.Delivery;
import com.rabbitmq.client.ShutdownSignalException;
public class Test02 {
public static void main(String[] args) throws IOException, ShutdownSignalException, ConsumerCancelledException,
InterruptedException, TimeoutException{
//创建链接工厂
ConnectionFactory connFac = new ConnectionFactory();
//默认链接主机名
connFac.setHost("127.0.0.1");
//创建链接
Connection conn = connFac.newConnection();
//创建信息通道
Channel channel = conn.createChannel();
//定义Queue名称
String queueName = "queue01";
channel.queueDeclare(queueName, false, false, false, null);
//声明一个消费者,配置好获取消息的方式
QueueingConsumer consumer = new QueueingConsumer(channel);
channel.basicConsume(queueName, true, consumer);
//循环获取消息
while(true) {
//循环获取消息
//指向下一个消息,如果没有会一直阻塞
Delivery delivery = consumer.nextDelivery();
String msg = new String(delivery.getBody());
System.out.println("接收 message[" + msg + "] from " + queueName);
}
}
}
队列情况:
参考:http/RabbitMQ的简单示例(一)%20-%20CSDN博客.html