前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >21-RabbitMQ延迟队列插件

21-RabbitMQ延迟队列插件

作者头像
彼岸舞
发布2022-10-06 08:43:56
8450
发布2022-10-06 08:43:56
举报
文章被收录于专栏:java开发的那点事

RabbitMQ延迟队列插件

下载

官网

代码语言:javascript
复制
https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases

我用的是3.10.7的RabbitMQ, 但是官网没有这么新版本的, 只好下载3.10.2得了

安装

代码语言:javascript
复制
# 进入plugins目录
cd /usr/local/rabbitmq/plugins/

上传包

启动

代码语言:javascript
复制
# 启动延迟插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange

启动成功

查看控制台

控制台中已经能查看到延迟队列类型了[x-delayed-message]

控制台测试

添加一个exchange

添加一个队列

添加绑定关系

发送消息

这个提示不用管他, 应该是兼容还有问题, 不过只是控制台, 不影响代码

等待20秒后

消息进入队列中, 这个是延迟消息, 之前的TTL消息是过期消息, 不要搞混了

SpringBoot代码集成

代码语言:javascript
复制
# 在消息转换器中设置到messageProperties中即可
@Override
public Message toMessage(Object o, MessageProperties messageProperties) throws MessageConversionException {
//        messageProperties.setExpiration(defaultExpire);
    com.dance.rabbitmq.api.Message message = (com.dance.rabbitmq.api.Message) o;
    int delayMills = message.getDelayMills();
    messageProperties.setDelay(delayMills);
    return messageConverter.toMessage(o,messageProperties);
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • RabbitMQ延迟队列插件
    • 下载
      • 安装
        • 启动
          • 查看控制台
            • 控制台测试
              • SpringBoot代码集成
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档