搭建:
https://blog.csdn.net/liangwenmail/article/details/60870541
https://blog.csdn.net/qq_23303245/article/details/80406382
https://blog.csdn.net/u012637358/article/details/80078610
安装完成后打不开管理页面:
cmd执行命令:"C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.5\sbin\rabbitmq-plugins.bat" enable rabbitmq_management
使用:
https://blog.csdn.net/wangbing25307/article/details/80845641(原理好)
https://www.cnblogs.com/vipstone/p/9275256.html
https://www.rabbitmq.com/getstarted.html(官网教程)
https://www.cnblogs.com/xinxiucan/p/7940953.html(管理页面相关)
<!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client -->
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>5.6.0</version>
</dependency>
package pit.rabbitmq;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import com.rabbitmq.client.AMQP;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.Consumer;
import com.rabbitmq.client.DefaultConsumer;
import com.rabbitmq.client.DeliverCallback;
import com.rabbitmq.client.Envelope;
public class MqConsummer {
public static void main(String args[]){
String QUEUE_NAME="hello";
Connection connection=MqConnection.getMqConnection();
try {
Channel channel=connection.createChannel();
//声明通道
channel.queueDeclare(QUEUE_NAME,false,false,false,null);
//定义消费者
DeliverCallback deliverCallback = (consumerTag, delivery) -> {
String message = new String(delivery.getBody(), "UTF-8");
System.out.println(" [x] Received '" + message + "'");
};
//监听队列
channel.basicConsume(QUEUE_NAME, true, deliverCallback, consumerTag -> { });
} catch (IOException e) {
e.printStackTrace();
}
}
}
package pit.rabbitmq;
import java.io.IOException;
import java.util.concurrent.TimeoutException;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
public class MqProducer {
static String QUEUE_NAME="hello";
public static void main(String[] args) {
//创建连接
Connection connection=MqConnection.getMqConnection();
//生产消息
//创建通道
Channel channel = null;
try {
channel = connection.createChannel();
//声明创建队列
channel.queueDeclare(QUEUE_NAME,false,false,false,null);
//消息内容
String message = "Hello World!123";
int count=100;
for(int i=0;i<count;i++){
channel.basicPublish("",QUEUE_NAME,null,(message+i).getBytes());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} catch (IOException e) {
e.printStackTrace();
//关闭连接和通道
try {
channel.close();
connection.close();
} catch (IOException e1) {
e1.printStackTrace();
} catch (TimeoutException e1) {
e1.printStackTrace();
}
}
//关闭连接和通道
try {
channel.close();
connection.close();
} catch (IOException e) {
e.printStackTrace();
} catch (TimeoutException e) {
e.printStackTrace();
}
}
}