前言
RabbitMQ 是基于 Erlang 语言开发的,因此它的不同版本通常要求使用特定版本的 Erlang 运行环境。下面是 RabbitMQ 和 Erlang 版本之间的对应关系:
查看地址:RabbitMQ Erlang Version Requirements — RabbitMQ
1:安装erlang
配置环境变量;
在path路径中添加:D:\Erlang\Erlang OTP\bin(你安装的目录下的bin目录)
验证,打开cmd命令框,输入erl
2:安装RabbitMQ
下载地址:Installing on Windows — RabbitMQ
配置环境变量
安装完成后打开cmd,进入到RabbirMQ的sbin目录下:
安装管理页插件
运行下面命令,回车运行
rabbitmq-plugins enable rabbitmq_management
运行成功的图片
启动:在sbin目录下,执行rabbitmq-server;
如果失败 先停止,再启动
net stop RabbitMQ
net start RabbitMQ
浏览器输出:http://127.0.0.1:15672
端口说明
5672 端口:是 RabbitMQ 的默认端口,用于 AMQP(高级消息队列协议)客户端与 RabbitMQ 服务器之间的通信。
15672 端口:是 RabbitMQ 的 Web 管理界面的默认端口。你可以在浏览器中使用该端口来访问 RabbitMQ 的 Web 控制台。默认用户名和密码为guest/guest。
25672 端口:是 RabbitMQ 集群节点间通信的默认端口。RabbitMQ 集群中的每个节点都需要对该端口进行监听,并使用该端口与其他节点进行通信。
Springboot整合RabbitMQ
pom
<!--MQ-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
application.properties
#rabbitmq
spring.rabbitmq.host=127.0.0.1
spring.rabbitmq.port= 5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
spring.rabbitmq.virtual-host=/
生产者
@Autowired
private static RabbitTemplate rabbitTemplate;
//第一个参数 交换机, 第二个路由key 第三个消息内容
rabbitTemplate.convertAndSend("testExchange","user.key","content");
消费者
@Component
public class TestCustomer {
//消费注解, 可用于类和方法 使用在类上配合@RabbitHandler标注消费者
@RabbitListener(bindings = {
@QueueBinding(
value = @Queue("hello"),
key = {"user.key"},
exchange = @Exchange(type = "topic",name = "testExchange")
)
})
public void customer1(String message){
System.out.println("消费customer1"+message);
}
@RabbitListener(bindings = {
@QueueBinding(
value = @Queue("hello1"),
key = {"user.key"},
exchange = @Exchange(type = "topic",name = "testExchange")
)
})
public void customer2(String message){
System.out.println("消费customer2"+message);
}
}