RabbitMQ 的使用

RabbitMQ 的使用,第1张

RabbitMQ 的使用

前提 项目使用微服务方式 ,有一个删除 *** 作,数据内含有一个file url 删除数据需要调文件服务进行删除文件。目前采用的方式是 feign 方式,这里改为mq 方式删除。

前提 导包这里就不叙述了

第一步 配置

1.设置消息预取 值为1 表示 处理完1个消息再拿下一个消息进行处理 如果不设置 后果可以百度(影响可大可小 尽量设置)

配置2  因为消息发送是用jdk的序列化将对象序列化,会显得比较臃肿 这里配置成json序列化, 注意消息发送服务和接受消息服务都要重写这个bean

 

        

代码实现

1 消息发送  

        前提 手动创建队列 和交换机   目前还不知道咋自动创建队列,和交换机绑定队列 

我这里用管理网页手动添加的绑定关系

 

消息发送代码

注入模板

 用模板方法发送消息

 第一个参数表示交换机名称,第二个参数表示key 第三个参数表示要传的对象这里是一个string对象

消息接受  @component 一定要加 不然创建不了对象!

 

@RabbitListener(bindings = @QueueBinding(
        value = @Queue(name = "file"),
        exchange = @Exchange(name = "amq.topic",type = ExchangeTypes.DIRECT),
        key = {"red","bleak"}
)) 这个注解是监听  - 参数为绑定 绑定 消息 和交换机  然后还有key 即可

type 有三种类型 TopicExchange 等 需要的话可以自行百度

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5688428.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存