Springboot集成rabbitMq详细讲解

前言

RabbitMQ 是基于 Erlang 语言开发的,因此它的不同版本通常要求使用特定版本的 Erlang 运行环境。下面是 RabbitMQ 和 Erlang 版本之间的对应关系:

查看地址:RabbitMQ Erlang Version Requirements — RabbitMQ

 1:安装erlang

下载地址:Otp 25.0 - Erlang/OTP

 

配置环境变量;

在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);
    }
}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值