• rabbitmq 一些属性


    消息属性

    消息有14个属性,最常用的几种:

    deliveryMode:持久化属性

    contentType:编码

    replyTo:指定一个回调队列

    correlationId:消息id

    mandatory标志位:当mandatory标志位设置为true时,如果exchange根据自身类型和消息routeKey无法找到一个符合条件的queue,那么会调用basic.return方法将消息返还给生产者;当mandatory设为false时,出现上述情形broker会直接将消息扔掉。

    immediate标志位: 当immediate标志位设置为true时,如果exchange在将消息route到queue(s)时发现对应的queue上没有消费者,那么这条消息不会放入队列中。当与消息routeKey关联的所有queue(一个或多个)都没有消费者时,该消息会通过basic.return方法返还给生产者。概括来说,mandatory标志告诉服务器至少将该消息route到一个队列中,否则将消息返还给生产者;immediate标志告诉服务器如果该消息关联的queue上有消费者,则马上将消息投递给它,如果所有queue都没有消费者,直接把消息返还给生产者,不用将消息入队列等待消费者了。

    关于immediate标志位的使用:新版本好像已经取消了immediate标志位,因为这个"使代码库的许多部分更加复杂",rabbitmq建议在找不到消费者的时候,将消息放入另外一个队列,然后生产者订阅这个队列来查看那些消息找不到消费者。

     

    实例代码:

     

    队列的属性:

    - 持久性:如果启用,队列将会在server重启前都有效。

    - 自动删除:如果启用,那么队列将会在所有的消费者停止使用之后自动删除掉自身。

    - 惰性:如果没有声明队列,那么在执行到使用的时候会导致异常,并不会主动声明。

    - 排他性:如果启用,队列只能被声明它的消费者使用。

     

     

     

     

  • 相关阅读:
    Leo程序员羊皮卷文摘(更新ing)
    ubuntu下的yuv播放器
    浏览器之一
    海量数据处理常用思路和方法(zh)
    我本将心向明月,奈何明月照沟渠
    转载光纤通信之父
    重装系统或是更换电脑之后,Foxmail的恢复
    关于录制Linux视频
    Linux之路(原发表于07年,现在搬到博客)
    Gentoo安装 miniCD+stage3
  • 原文地址:https://www.cnblogs.com/xiaolang8762400/p/7469747.html
Copyright © 2020-2023  润新知