前言
昨天写了一篇关于Java和RabbitMQ使用插件实现延迟队列功能的文章,今天来讲下另外一种方式,不需要RabbitMQ的插件。
前期准备,需要安装好docker、docker-compose的运行环境。
需要安装RabbitMQ的可以看下面这篇文章。
java 零基础ping命令
使用RabbitMQ插件实现延迟队列功能的文章,可以查看下面的文章。
一、编写代码
1、使用springboot框架快速搭建一个项目。
2、在 中添加 Spring Boot AMQP 的依赖,内容如下。
3、在 中配置 RabbitMQ 的连接信息,内容如下。
讯享网
4、在配置类中定义交换机、队列和绑定,内容如下。
5、创建一个生产者,发送一个带有延迟属性的消息,内容如下。

讯享网
6、创建一个消息者,监听接收队列中的消息,内容如下。
7、至此,测试项目代码已完成,下一步将进行验证。
二、测试验证
1、启动服务。
2、调用生产者,执行如下代码。
3、查看日志,正常情况会返回如下内容。

如上图所示,在2024-04-08T10:23:40.478+08:00接收到生产者的请求,然后在2024-04-08T10:23:45.587+08:00执行消费动作,延迟5秒。
4、至此,使用Java和RabbitMQ实现延迟队列的功能已验证完毕。
总结
用Java和RabbitMQ实现消息队列的延迟功能的另外一种方式,其实依靠的是死信交换机,主要有以下几个步骤。
1、配置死信交换机(Dead-Letter-Exchange)。
2、编写Java测试项目。
3、进行测试验证。
上面的代码只是做个简单的示例,如果运用到实际的项目当中需要做进一步的优化。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/936.html