当前位置:   article > 正文

RabbitMq延迟交换机延迟消息插件_invalid argument, 'x-delayed-type' must be an exis

invalid argument, 'x-delayed-type' must be an existing exchange type

RabbitMQ处理信息重复消费问题:blog.csdn.net/chenping1993/article/details/114580954

'x-delayed-type' must be an existing exchange type, class-id=40, method-id=10)

在使用延迟消息的时候会用到官方的延迟交换机插件,在使用的时候,定义交换机属性map时出错将qargs.put("x-delayed-type", "direct");写成qargs.put("x-delayed-message", "direct");这主要是在与需要返回一个指定名称的特定交换机x-delayed-message名与类型是区别的。

  return new CustomExchange("delayed.exchange", "x-delayed-message", true, false, qargs);

blog.csdn.net/chenping1993/article/details/114580954

死信队列:一个消息在满足一下条件会进入死信路由,这里路由不是队列,一个路由可以对应很多队列,什么是死信队列?

一个消息被消费者拒收,并且reject方法里的requeue是false,也就是不会再次放到队列里,被其他消费者使用

ttl过期了

队列的长度满了,排在前面的消息会被丢弃或者扔到死信路由上,死信交换机和普通的交互机没有什么区别,由死信队列的死信消息自动触发到死信交换机,我们可以让队列消息过一段时间变成死信,然后通过死信消息控制路由到指定的交互机,结合起来实现一个延迟队列。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/689517
推荐阅读
相关标签
  

闽ICP备14008679号