文章目录
项目用到rqueue,虽然知道和redis相关,但是肯定有不一样的地方,做个笔记。
maven依赖
网上找个能用的版本就行,如:
<dependency>
<groupId>com.github.sonus21</groupId>
<artifactId>rqueue-spring-boot-starter</artifactId>
<version>2.13.2-RELEASE</version>
</dependency>
注:rqueue-core是不用引入的,starter里面会带上。
引入监听器
属于配置类,可以考虑和StartupApplication同目录。
@Component
public class MessageSender implements ApplicationListener<RqueueBootstrapEvent> {
@Autowired
private RqueueEndpointManager rqueueEndpointManager;
@Override
public void onApplicationEvent(RqueueBootstrapEvent event) {
if (!event.isStartup()) {
return;
}
String[] a = new String[]{"USER-QUEUE","MOIRAI-QUEUE"};
for (String queue : a) {
String[] priorities = getPriority(queue);
if (!rqueueEndpointManager.isQueueRegistered(queue)) {
rqueueEndpointManager.registerQueue(queue, priorities);
}
}
}
private String[] getPriority(String queue) {
// return new String[]{"high", "medium", "low"};
return new String[]{};
}
}
界面地址
服务启动后就有管理界面了,例如服务端口是8080,那么rqueue界面地址是:
http://localhost:8080/rqueue
注入和发送消息
接收消息
属性配置
其他
引入rqueue时报错 Cannot resolve Failure to transfer org.springframework:spring-webflux:pom:5.0.10.RELEASE from http://192.168.0.1:8081/repository/maven-public
说明spring框架版本不支持。需要高版本的spring。