删除Redis监听

master
lulicheng 10 months ago
parent 0ce54612bc
commit 0cdc3595e5

@ -9,7 +9,6 @@ import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import com.ipsplm.listener.RedisListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.context.annotation.Bean;
@ -28,8 +27,6 @@ import org.springframework.data.redis.serializer.StringRedisSerializer;
*/
@Configuration
public class RedisConfig extends CachingConfigurerSupport {
@Autowired
private RedisListener redisListener;
@Bean
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
@ -63,12 +60,4 @@ public class RedisConfig extends CachingConfigurerSupport {
template.afterPropertiesSet();
return template;
}
@Bean
RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) {
RedisMessageListenerContainer container = new RedisMessageListenerContainer();
container.setConnectionFactory(connectionFactory);
container.addMessageListener(redisListener, redisListener.getTopic());
return container;
}
}

@ -1,69 +0,0 @@
package com.ipsplm.listener;
import com.alibaba.fastjson.JSON;
import com.ipsplm.utils.RedisUtils;
import com.ipsplm.websocket.*;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.connection.MessageListener;
import org.springframework.data.redis.listener.PatternTopic;
import org.springframework.stereotype.Component;
/**
* @Description Redis
* @Author FanDongqiang
* @Date 2023/5/4 11:32
* @Version 1.0
*/
@Component
@Slf4j
@Getter
public class RedisListener implements MessageListener {
private final PatternTopic topic = new PatternTopic("__keyevent@0__:set");
@Autowired
@Lazy
private RedisUtils redisUtils;
@Override
public void onMessage(Message message, byte[] pattern) {
String msg = redisUtils.get(new String(message.getBody())).toString();
int websocketGroupId = JSON.parseObject(msg).getInteger("websocketGroupId");
if (websocketGroupId != 0) {
sendInfoToWebSocketHandler(websocketGroupId, msg);
}
}
private void sendInfoToWebSocketHandler(int websocketGroupId, String message) {
switch (websocketGroupId) {
case 1:
WebSocketHandler1.sendInfo(message);
break;
case 2:
WebSocketHandler2.sendInfo(message);
break;
case 3:
WebSocketHandler3.sendInfo(message);
break;
case 4:
WebSocketHandler4.sendInfo(message);
break;
case 5:
WebSocketHandler5.sendInfo(message);
break;
case 6:
WebSocketHandler6.sendInfo(message);
break;
case 7:
WebSocketHandler7.sendInfo(message);
break;
case 8:
WebSocketHandler8.sendInfo(message);
break;
default:
log.warn("Invalid websocketGroupId: {}", websocketGroupId);
}
}
}
Loading…
Cancel
Save