TTL队列/消息
TTL是Time To Live的缩写, 也就是生存时间
RabbitMQ支持消息的过期时间, 在消息发送时可以进行指定
RabbitMQ支持队列的过期时间, 从消息入队列开始计算, 只要超过了队列的超时时间配置, 那么消息会自动清除
代码演示
消费者中设置队列超时时间为10秒, 启动之后关闭消费者
生产者发送两条消息, 一条消息不设置超时时间, 一条消息设置5秒后超时
启动生产者之后, 监控RabbitMQ控制台, 发现5秒后设置了消息超时时间的消息先超时清除, 然后10秒后另外一条消息也超时清除
package com. qiyexue. api. ttl;
import com. rabbitmq. client. Channel;
import com. rabbitmq. client. Connection;
import com. rabbitmq. client. ConnectionFactory;
import com. rabbitmq. client. QueueingConsumer;
import com. rabbitmq. client. QueueingConsumer. Delivery;
import java. util. HashMap;
import java. util. Map;
public class Consumer {
public static void main ( String[ ] args) throws Exception {
ConnectionFactory factory = new ConnectionFactory ( ) ;
factory. setHost ( "192.168.72.138" ) ;
factory. setPort ( 5672 ) ;
factory. setVirtualHost ( "/" )