java接口延迟绑定_RabbitMQ 延迟队列插件应用 以及 java 代码使用延迟消息

延迟插件的作用:

比如消息的延迟推送、定时任务(消息)的执行。包括一些消息重试策略的配合使用,以及用于业务削峰限流、降级的异步延迟消息机制,都是延迟队列的实际应用场景。

延迟插件的安装:

1. 下载插件:http://www.rabbitmq.com/community-plugins.html

8fe6947efa53?from=groupmessage

2. 在指定目录下载该插件:/usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/plugins  目录下执行

wget https://dl.bintray.com/rabbitmq/community-plugins/3.6.x/rabbitmq_delayed_message_exchange/rabbitmq_delayed_message_exchange-20171215-3.6.x.zip

8fe6947efa53?from=groupmessage

下载成功

解压:unzip rabbitmq_delayed_message_exchange-20171215-3.6.x.zip

8fe6947efa53?from=groupmessage

解压成功

3. 查看所有插件: rabbitmq-plugins list

8fe6947efa53?from=groupmessage

启动延时插件:rabbitmq-plugins enable rabbitmq_delayed_message_exchange

8fe6947efa53?from=groupmessage

4. 访问地址: http://{ip}:15672/#/exchanges

在新增交换机这里,发现多了一个类型

8fe6947efa53?from=groupmessage

延迟类型

8fe6947efa53?from=groupmessage

新增一个延迟类型的交换机

8fe6947efa53?from=groupmessage

新增延迟类型交换机成功

新增一个队列  test.delay.queue

8fe6947efa53?from=groupmessage

新增一个队列

test.delay.queue

交换机绑定队列

8fe6947efa53?from=groupmessage

交换机绑定队列

交换机绑定队列成功

8fe6947efa53?from=groupmessage

交换机绑定队列成功

8fe6947efa53?from=groupmessage

在交换机里面发消息

8fe6947efa53?from=groupmessage

验证是否延迟 20 s

Java 代码: https://github.com/hmilyos/rabbitmq-common.git     delay 分支

首先是配置 application.properties

spring.rabbitmq.addresses=120.79.151.132:5672

spring.rabbitmq.username=guest

spring.rabbitmq.password=guest

spring.rabbitmq.virtual-host=/

spring.rabbitmq.connection-timeout=15000

spring.rabbitmq.publisher-confirms=true

spring.rabbitmq.publisher-returns=true

spring.rabbitmq.template.mandatory=true

接着是声明交换机、队列、绑定关系

8fe6947efa53?from=groupmessage

声明交换机、队列、绑定关系

生产端代码

8fe6947efa53?from=groupmessage

生产端代码

消费端代码

8fe6947efa53?from=groupmessage

消费端代码

接口调用

8fe6947efa53?from=groupmessage

http接口

启动 springboot 项目,然后上管控台页面 确认交换机、队列、绑定关系是否创建成功了

8fe6947efa53?from=groupmessage

8fe6947efa53?from=groupmessage

验证交换机、队列、绑定关系声明创建成功后,

调用测试接口: http://localhost:8030/testDelayMsg?title=this-is-delay-msg   注意看控制台输出

8fe6947efa53?from=groupmessage

延迟消息发送和接收成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值