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();