RabbitMQ消息中间件(第三章)第四部分-TTL队列/消息

TTL队列/消息

TTL

  • TTL是Time To Live的缩写,也就是生存时间
  • RabbitMQ支持消息的过期时间,在消息发送时可以进行指定
  • RabbitMQ支持队列的过期时间,从消息入队列开始计算,只要超过了队列的超时时间配置,那么消息会自动消除

管控台演示TTL

添加队列

 

 

 

添加交换机

 

 

 

查看添加的exchange详情

 

 

在exchange详情里绑定队列

 

 

 

exchange绑定成功会显示绑定To队列,可点击test002跳转到绑定队列的详情里

 

 

 

队列里也显示相对应的exchange

 

 

 

 

 这时候我们打开test002_exchange详情发送一条消息

 

 

 

 以上是针对队列配置的TTL,每条消息进入该队列,每条消息进入该队列10秒后都会自动过期

还有一种是针对消息本身设置的TTL

AMQP.BasicProperties properties = new AMQP.BasicProperties().builder()
                    .deliveryMode(2) //持久化,假设消息服务重启后,该消息还会存在
                    .contentEncoding("UTF-8")
                    .expiration("10000") //10秒过期
                    .headers(header) //附加自定义数据
                    .build();

 

posted @ 2021-01-28 16:53  灰辉-灰  阅读(68)  评论(0编辑  收藏  举报