首页 > 其他分享 >21-RabbitMQ延迟队列插件

21-RabbitMQ延迟队列插件

时间:2022-10-04 23:46:28浏览次数:45  
标签:插件 21 队列 messageProperties RabbitMQ rabbitmq message 延迟

RabbitMQ延迟队列插件

下载

官网

https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases

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

安装

# 进入plugins目录
cd /usr/local/rabbitmq/plugins/

上传包

启动

# 启动延迟插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange

启动成功

查看控制台

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

控制台测试

添加一个exchange

添加一个队列

添加绑定关系

发送消息

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

等待20秒后

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

SpringBoot代码集成

# 在消息转换器中设置到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);
}

标签:插件,21,队列,messageProperties,RabbitMQ,rabbitmq,message,延迟
From: https://www.cnblogs.com/flower-dance/p/16754856.html

相关文章

  • 22-FAQ登录RabbitMQ控制台提示不是私密连接
    登录RabbitMQ控制台提示不是私密连接将启动的时候的赋权操作再执行一遍rabbitmqctladd_userrootrabbitmqctlset_permissions-p/root".*"".*"".*"rabbitmqct......
  • 15-RabbitMQ高级特性-消费端限流
    消费端限流什么是消费端限流假设一个场景,首先,我们RabbitMQ服务器有上万条消息未处理的消息,我们随机打开一个消费者客户端,会出现下面情况巨量的消息瞬间全......
  • 16-RabbitMQ高级特性-消费端的消息ACK与重回队列
    消费端的消息ACK与重回队列消费端的手工ACK和NACKACK分为自动和手动消费端进行消费的时候,如果由于业务异常我们可以进行日志的记录,然后进行补偿如果由于服务器宕......
  • 17-RabbitMQ高级特性-TTL队列/消息
    TTL队列/消息TTL:TimeToLive,生存时间RabbitMQ支持消息的过期时间,在消息发送时可以指定RabbitMQ支持队列的过期时间,从消息进入队列开始计算,只要超过了队列......
  • 18-RabbitMQ高级特性-死信队列
    死信队列死信队列:DLX,Dead-Letter-Exchange利用DLX,当消息在一个队列中变成死信(deadmessage)之后,它能被重新publish到另一个Exchange,这个Exchange就是DLXDL......
  • 07-RabbitMQ核心API-Direct Exchange
    DirectExchange简介所有发送到directexchange的消息被转发到Routekey中指定的Queue注意:Direct模式可以使用RabbitMQ自带的Exchange(defaultexchange),所以不需......
  • 08-RabbitMQ核心API-Topic Exchange
    TopicExchange简介所有发送到TopicExchange的消息被转发到所有关心RouteKey中指定Topic的Queue上Exchange将RouteKey和某Topic进行模糊匹配,此时队列需要绑定一个T......
  • 09-RabbitMQ核心API-Fanout Exchange
    FanoutExchange简介不处理路由键,只需要简单的将队列绑定到交换机上发送到交换机的消息都会被转发到与该交换机绑定的所有队列上Fanout交换机转发消息是最快的......
  • 10-RabbitMQ核心API-其他[Binding, Queue, Message, Virtual host]
    Binding绑定关系Exchange和Exchange,Queue之间的连接关系Binding中可以包含RouteKey或者参数Queue消息队列,实际存储消息数据Durability:是否持久化,Durable......
  • 11-RabbitMQ高级特性-消息如何保证100%的投递成功
    消息如何保证100%的投递成功什么是生产端的可靠性投递保障消息的成功发出保障MQ节点的成功接收发送端收到MQ节点(Broker)确认应答完善的消息进行补偿机制BAT/TMD......