4.2rabbitMq队列(gold_axe)

2020-11-17  本文已影响0人  胖达_4b7e
 Map<String,Object> args = new HashMap<String,Object>();
channel.queueDeclare(
                queueName,//队列名
                false,//是不是持久化(mq重启后队列是不是还在):临时队列/持久队列
                false,//允许多个消费者消费(轮询
                false,//最后一个消费者断开后队列是不是删除
                args//其他参数
        );

队列声明时的几个参数除了队列名有:

Map<String, Object> arguments

自动过期队列

arguments.put("x-expires",10*1000);//10秒被删除
这个意思是, 没有消费者绑定在队列上的情况下
10秒都没get操作了,
不管有没有投递
本队列都会删除

队列里面 消息 的超时设置

arguments.put(" x-message-ttl",45*1000);/
队列里面消息的存活时间, 45秒没被消费就死掉
死掉以后,如果有设置了死信, 会投递到死信交换器

        //死信
arguments.put("x-dead-letter-exchange", DlxProcessConsumer.DLX_EXCHANGE_NAME);//绑定死信交换器
arguments.put("x-dead-letter-routing-key", "deal");//死信路由键,会替换消息原来的路由键

镜像队列

"x-ha-policy"

上一篇下一篇

猜你喜欢

热点阅读