设置消息的TTL
两种方法设置消息的TTL
- 通过队列属性设置,队列中所有消息都具有相同的过期时间
- 对消息本身进行单独设置
如果同时设置,则消息的TTL以较小的值为准。消息在队列中的生存时间一旦超过设置的TTL值,就会变成死信(Dead Message),消费者将无法再收到该消息(这点不是绝对的)。
通过队列设置消息的TTL
Map<String,Object> args = new HashMap<String,Object>();
args.put("x-message-ttl",6000);
channel.queueDeclare(queueName,durable,exclusive,autoDelete,args);