redis可以用于消息订阅,下面一段代码实现了spring中使用redis作为消息订阅模型:
消息处理器:
/**
* 接口RedisMessageHandler:
*/
public interface RedisMessageHandler {
/**
* 处理redis消息
* @param message redis消息
* @return 处理结果
*/
String handlerRedisMessage(TMRedisMessage message);
}
实现消息处理:
@Service
@Slf4j
public class ClusterMessageHandler implements RedisMessageHandler {
@Override
public String handlerRedisMessage(TMRedisMessage tmRedisMessage) {
log.info("收到消息通知,消息内容:{}", tmRedisMessage);
// 设置JWT信息
JwtUtil.setJwtInfo(String.valueOf(tmRedisMessage.getAppId()), tmRedisMessage.getUin());
// 构造集群组件创建/卸载请求
var clusterRequest = new ClusterRequest();
clusterRequest.setClusterId(tmRedisMessage.getClusterId());
ClusterFactory.get(ClusterTypeEnum.COMMON.getName()).create(clusterRequest);
JwtUtil.removeJwtInfo();
return "success";
}
}
消息消费者:
import com.fasterxml.jackson.databind.ObjectMapper;
import com