rabbitmq过期时间

rabbitmq过期时间(TTL)

TTL,Time-to-Live。rabbitmq支持对消息和队列设置TTL

消息设置TTL

消息在队列中的生存时间超过设置的TTL时,就会变成死信

队列中设置消息TTL

在队列中设置消息的TTL,那么队列中的所有消息都有相同的过期时间,可以通过声明队列的时候设置x-message-ttl参数

Map<String, Object> map = new HashMap<>();
map.put("x-message-ttl", 5000);
channel.queueDeclare(q_name, false, false, false, map);
消息本身设置TTL

对每条消息本身单独设置TTL,不影响其他消息的TTL时间,一旦消息过期就会从队列中抹去

AMQP.BasicProperties aa = new AMQP.BasicProperties.Builder()
                .deliveryMode(2)
                .expiration("6000") //设置TTL
                .build();

channel.basicPublish(EX_PRIORITY, RT_PRIORITY, low, "msg".getBytes());

队列设置TTL

队列设置TTL过期后会被删除,但是不能保证实时被删除

Map<String, Object> map = new HashMap<>();
map.put("x-expires", 5000);
channel.queueDeclare(q_name, false, false, false, map);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值