增加 Redis pub sub 机制

This commit is contained in:
YunaiV
2021-01-22 21:04:40 +08:00
parent 79a0b4cb56
commit 2a349972b4
9 changed files with 113 additions and 2 deletions

View File

@@ -0,0 +1,21 @@
package cn.iocoder.dashboard.modules.system.mq.consumer;
import cn.iocoder.dashboard.framework.redis.core.listener.AbstractMessageListener;
import cn.iocoder.dashboard.modules.system.mq.message.permission.SysMenuRefreshMessage;
import org.springframework.data.redis.connection.Message;
import org.springframework.stereotype.Component;
@Component
public class SysMenuRefreshConsumer extends AbstractMessageListener {
@Override
public void onMessage(Message message, byte[] bytes) {
System.out.println(message);
}
@Override
public String getChannel() {
return SysMenuRefreshMessage.TOPIC;
}
}

View File

@@ -0,0 +1 @@
package cn.iocoder.dashboard.modules.system.mq.message;

View File

@@ -0,0 +1,13 @@
package cn.iocoder.dashboard.modules.system.mq.message.permission;
import lombok.Data;
/**
* 菜单数据刷新 Message
*/
@Data
public class SysMenuRefreshMessage {
public static final String TOPIC = "system.menu.refresh";
}

View File

@@ -0,0 +1 @@
package cn.iocoder.dashboard.modules.system.mq.producer;

View File

@@ -0,0 +1,26 @@
package cn.iocoder.dashboard.modules.system.mq.producer.permission;
import cn.iocoder.dashboard.modules.system.mq.message.permission.SysMenuRefreshMessage;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* Menu 菜单相关消息的 Producer
*/
@Component
public class SysMenuProducer {
@Resource
private RedisTemplate<String, Object> redisTemplate;
/**
* 发送 {@link SysMenuRefreshMessage} 消息
*/
public void sendMenuRefreshMessage() {
SysMenuRefreshMessage message = new SysMenuRefreshMessage();
redisTemplate.convertAndSend(SysMenuRefreshMessage.TOPIC, message);
}
}