专栏首页凯哥JavaRabbitMQ 高级篇九 TTL设置队列或消息有效期队列及消息
原创

RabbitMQ 高级篇九 TTL设置队列或消息有效期队列及消息

TTL队列及消息介绍

本文是《RabbitMQ精讲系列》中第十六篇:RabbitMQ消息中间件技术精讲16 高级篇九 TTL队列及消息。如果想学习RabbitMQ的朋友建议从第一篇开始看起。

TTL:

    TTL是Time To Live的缩写,也就是生存时间。也就是说RabbitMQ支持消息的过期时间,在消息发送的时候可以对过期时间进行指定;

同时RabbitMQ支持队列的过期时间,从消息入队列开始计算,超过了队列的超时时间配置,那么消息就会自动清除。

今天这篇文章,咱们就不用写代码演示。使用页面的方式进行配置发送消息。

登陆到页面管控台:

先创建一个队列queue.

设置队列名称为:test002

给arguments设参数:

x-max-length:最大长度。我们设置3000

x-message-ttl:设置超时时长。我们设置10000毫秒,也就是10秒。

具体如下图:

设置完成之后,我们点击Add.之后,在queues的列表中就可以看到,我们创建的test002队列。如下图:

接下来,我们创建交换机exchange:

设置name为:test002_texchange

设置类型type为:topic

设置Durability为durable.持久化

如下图:

设置完成之后,点击保存。我们可以在exchanges的列表中看到刚才创建的test002_exchange的交换机。如下图:

接着我们绑定交换机和队列的关系。

点击我们创建的队列,添加绑定

选择To queue值为我们上一步创建的队列名称:test002

设置routing key为ttl.#.

如下图:

点击bind之后,我们就可以看到绑定关系了。如下图:

接着我们来发送消息。

点击test002-exchange,我们可以看到Publish message.就可以在页面发送消息了。

我们进行设置:

可以看到在properties这个属性中,我们需要的都有的。

设置Routing key:ttl.abcd

设置Delivery mode:2-persistent。持久化

然后设置消息,Payload。

设置完成如下图:

点击publish message后:

发送成功。

我们看看队列:test002中已经有一条消息了。如下图:

我们等待10秒,发现消息自动消失了。如下:

下节我们讲解:死信队列

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java中常用七个阻塞队列的总结

    通过前面文章的学习,我们对Java中常用队列做了介绍。本文,咱们来对队列做个总结吧。

    凯哥Java
  • RabbitMQ 高级篇八 消费端ACK与重回队列

    自动签收:channel.basicConsume方法的第二个参数(autoAck)设置为true即可;

    凯哥Java
  • RabbitMQ精讲系列教程高级篇七 消费端限流

        假设,我们mq服务器上有上万条未处理的消息,我们随便打开一个消费者客户端,会出现什么样的情况呢?

    凯哥Java
  • PyCharm + Git + Github 搭建版本控制环境

    3.生成SSH keys,它用于GitHub识别我们的电脑,建立安全的传输链接

    白墨石
  • Dubbo 3.0 预览版解读,6到飞起~

    Dubbo 自 2011 年 10 月 27 日开源后,已被许多非阿里系的公司使用,其中既有当当网、网易考拉等互联网公司,也不乏中国人寿、青岛海尔等大型传统企业...

    Java技术栈
  • 决策树ID3算法

    决策树 (Decision Tree)是在已知各种情况发生概率的基础上,通过构成 决策树 来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策...

    机器学习和大数据挖掘
  • 提升不止一点点,Dubbo 3.0 预览版详细解读

    Dubbo 自 2011 年 10 月 27 日开源后,已被许多非阿里系的公司使用,其中既有当当网、网易考拉等互联网公司,也不乏中国人寿、青岛海尔等大型传统企业...

    JAVA葵花宝典
  • C语言之排序

    心跳包
  • Xtrabackup搭建主从复制

    mysqldump:逻辑备份,其最大的缺陷就是备份和恢复速度都慢,对于一个小于50G的数据库而言,这个速度还是能够接受的,如果数据库非常大,那再使用mysqld...

    AsiaYe
  • R中的expand.grid() 函数

    在R中,expand.grid()函数可以返回几个元素所有可能的组合,使我们免于多层遍历的苦恼。比如如下例子:

    生信编程日常

扫码关注云+社区

领取腾讯云代金券