消息队列-RabbitMq

rabbitmq的下载安装使用就不再叙述,直接看我们的demo工程

 我们知道 我们发送一条消息 到rabbitmq 中,首先是交换机接收到消息,然后交换机把消息发送到队列当中去,由消费者消费队列的中的消息

exchange交换机

那么消息队列中的交换机 也有好几种形式  

我们介绍几种常用的形式  

带fanout 结尾的交换机  ,当我们生产者把消息 发到交换机的话,该类型交换机会把消息 一次性发布到 所有跟他绑定的队列中去

 带direct 结尾的交换机   会带有一个key 也就是路由值  由自己设置 然后 与带有相同的key 值的队列绑定,绑定之后,交换机转发消息就只会到绑定的且key相同的队列中去

带topic结尾的交换机,可以在键 中使用通配符的形式来进行  交换机和队列的绑定

 就比如 我们交换机 a.topic  队列 b.queue 然后 绑定的通配符是 *.ab  让我们 发送消息的时候 , 我们使用绑定的key去匹配队列,我们只要是 带.ab 后缀的key的队列 都会被交换机a 发送消息

Queue队列

通过key  或者手动绑定 交换机 来接收 交换机发来的消息,通常命名以queue 结尾

api 我们不使用传统的 @bean注解的方式 来进行消息的接收发送 ,我们直接使用注解方式进行消息的发送 

直接看api

这是生产者

这是消费者

我们直接运行就可以接收到消息 

消息转换

我们看一个现象 使用map集合进行发送消息,并且不去消费

然后 进入我们的mq页面看 我们的消息会乱码

这是因为我们jdk进行消息转换的时候会发生错误,解决这种情况,我们只需要引入一个jackson的依赖,进行消息的转换就可以了

<dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-xml</artifactId>
            <version>2.9.1</version>
        </dependency>

我们在发送消息 jdk是使用字节流的形式转成消息发送给交换机,然后 接收消息的时候 字节序列化成 消息对象接收

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三氧化真

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值