mirror of
https://gitee.com/hhyykk/ipms-sjy.git
synced 2025-07-23 07:25:07 +08:00
优化 Redis pub/sub 的封装,提升使用的便利性
This commit is contained in:
@ -2,15 +2,23 @@ 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 cn.iocoder.dashboard.modules.system.service.permission.SysMenuService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Component
|
||||
public class SysMenuRefreshConsumer extends AbstractMessageListener {
|
||||
@Slf4j
|
||||
public class SysMenuRefreshConsumer extends AbstractMessageListener<SysMenuRefreshMessage> {
|
||||
|
||||
@Resource
|
||||
private SysMenuService menuService;
|
||||
|
||||
@Override
|
||||
public void onMessage(Message message, byte[] bytes) {
|
||||
System.out.println(message);
|
||||
public void onMessage(SysMenuRefreshMessage message) {
|
||||
log.info("[onMessage][收到 Menu 刷新消息]");
|
||||
menuService.init();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -1,7 +1,8 @@
|
||||
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 cn.iocoder.dashboard.util.json.JSONUtils;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@ -13,14 +14,14 @@ import javax.annotation.Resource;
|
||||
public class SysMenuProducer {
|
||||
|
||||
@Resource
|
||||
private RedisTemplate<String, Object> redisTemplate;
|
||||
private StringRedisTemplate stringRedisTemplate;
|
||||
|
||||
/**
|
||||
* 发送 {@link SysMenuRefreshMessage} 消息
|
||||
*/
|
||||
public void sendMenuRefreshMessage() {
|
||||
SysMenuRefreshMessage message = new SysMenuRefreshMessage();
|
||||
redisTemplate.convertAndSend(SysMenuRefreshMessage.TOPIC, message);
|
||||
stringRedisTemplate.convertAndSend(SysMenuRefreshMessage.TOPIC, JSONUtils.toJSONString(message));
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user