前言
(防止自己以后再踩坑,这里记录一下)
这个异常是我在设置队列过期时间遇到的,搞了半天也查找了很多的资料大部分都是2种解决方案:
1、如果队列设置的是客户端是自动创建的,直接删除队列。
2、如果客户端没有配置自动创建队列的话,手动去MQ客户端创建队列,并且设置对应的TTL值。
异常以及解决方案
上面2种方法我都试过了,还是没有解决我的这个问题。后来经过不停的试验终于搞定了。
客户端自动创建队列(现在一般都是这种啦),设置x-message-ttl队列过期时间,但是不指定type(我就这种情况)
配置:
@RabbitListener(bindings = {
@QueueBinding(
value = @Queue(value = "direct.info", //指定一下队列名,默认持久队列,不指定则为临时队列
arguments = {
@Argument(name = "x-dead-letter-exchange",value = "dlx.exchange"), //指定一下死信交换机
@Argument(name = "x-dead-lette