延迟队列,即消息进入队列后不会立即被消费,只有到达指定时间后,才会被消费。
虽然RabbitMQ中没有提供延迟队列功能,但是可以使用TTL+死信队列组合实现延迟队列效果
1.首先创建生产者的maven工程,导入依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
<version>2.1.8.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
2.创建rabbitmq.properties
rabbitmq.host=X.X.X.X
rabbitmq.port=5672
rabbitmq.username=XXX
rabbitmq.password=XX
rabbitmq.virtual-host=/
这里叉一下如何Linux(centos7)下创建rabbitmq用户
创建用户名admin,密码abc的用户:
rabbitmqctl add_user admin abc
设置admin为超级管理员
rabbitmqctl set_user_tags admin administrator
授权远程访问(也可以登录后,可视化配置)
rabbitmqctl set_permissions -p / admin "." "." ".*"
创建完成后,重启RabbitMQ
systemctl restart rabbitmq-server
也可在服务器安装好rabbitmq后
启用管理平台插件,启用插件后,可以可视化管理RabbitMQ。
注意这里如果开启了rabbitmq服务要先关闭再执行下面命令
rabbitmq-plugins enable rabbitmq_management
再启动rabbitmq服务
systemctl start rabbitmq-server
即可访问控制台页面
1、访问地址
http://X.X.X.X(这里是你装有