10-exchangeDeclare和queueDeclare

参考:https://www.jianshu.com/p/ba3fa6071bd6

在使用RMQ的时候有两个非常重要的方法(基于Java客户端实现amqp-client):

  • exchangeDeclare:声明一个交换机。
  • queueDeclare:声明一个队列。

生产者和消费者都可以声明一个交换机或者队列。
如果尝试声明一个已经存在的交换机或者队列,只要声明的参数完全匹配现存的交换机或者队列,RabbitMQ 就可以什么都不做,并成功返回;如果声明的参数不匹配,则会抛出异常。

1 exchangeDeclare

1.1 声明exchange

用于声明一个交换机,函数签名如下:

Exchange.DeclareOk exchangeDeclare(String exchange,
                                   String type,
                                   boolean durable,
                                   boolean autoDelete,
                                   boolean internal,
                                   Map<String, Object> arguments) throws IOException;

参数说明:

  • exchange:指定交换机的名称。
  • type:指定交换机的类型(fanoutdirecttopicheaders)。
  • durable:是否持久化。如果设置为true,则rabbitmq会将exchange信息保存到磁盘,服务器重启后exchange不会丢失。
  • autoDelete:是否自动删除。如果设置为true,则当这个exchange不在被使用的时候,rabbitmq就会将它删除。
    • 自动删除的前提是:至少有一个队列或者交换机与这个交换机绑定,之后所有与这个交换机绑定的队列或者交换机都与之解绑,则这个交换机会被自动删除。 注意不能错误地把这个参数理解为:当与此交换机连接的客户端都断开时,RabbitMQ会自动删除本交换器。
  • internal:是否内置的。如果设置为true,则这个exchange就是一个内置交换机,不能直接通过客户端程序发送消息到这个交换机ÿ
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值