From e87754f4a4d7391443cc2fe0ed6c3f9392f12cf6 Mon Sep 17 00:00:00 2001 From: xsx <825657193@qq.com> Date: Sat, 28 Sep 2024 11:46:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/bx/implatform/IMPlatformApp.java | 1 + .../com/bx/imserver/config/RedisConfig.java | 35 ------------------- .../processor/GroupMessageProcessor.java | 10 +++--- .../netty/processor/HeartbeatProcessor.java | 1 - .../processor/PrivateMessageProcessor.java | 6 ++-- .../processor/SystemMessageProcessor.java | 6 ++-- .../imserver/netty/tcp/TcpSocketServer.java | 4 +-- .../bx/imserver/netty/ws/WebSocketServer.java | 2 +- 8 files changed, 15 insertions(+), 50 deletions(-) delete mode 100644 im-server/src/main/java/com/bx/imserver/config/RedisConfig.java diff --git a/im-platform/src/main/java/com/bx/implatform/IMPlatformApp.java b/im-platform/src/main/java/com/bx/implatform/IMPlatformApp.java index 2b8a91c..73dab5d 100644 --- a/im-platform/src/main/java/com/bx/implatform/IMPlatformApp.java +++ b/im-platform/src/main/java/com/bx/implatform/IMPlatformApp.java @@ -11,6 +11,7 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy; @Slf4j @EnableAspectJAutoProxy(exposeProxy = true) +@ComponentScan(basePackages = {"com.bx"}) @MapperScan(basePackages = {"com.bx.implatform.mapper"}) @SpringBootApplication public class IMPlatformApp { diff --git a/im-server/src/main/java/com/bx/imserver/config/RedisConfig.java b/im-server/src/main/java/com/bx/imserver/config/RedisConfig.java deleted file mode 100644 index fd9d26c..0000000 --- a/im-server/src/main/java/com/bx/imserver/config/RedisConfig.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.bx.imserver.config; - -import com.alibaba.fastjson.support.spring.FastJsonRedisSerializer; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; -import org.springframework.data.redis.connection.RedisConnectionFactory; -import org.springframework.data.redis.core.RedisTemplate; -import org.springframework.data.redis.serializer.StringRedisSerializer; - -@Configuration -public class RedisConfig { - - @Primary - @Bean - public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) { - RedisTemplate redisTemplate = new RedisTemplate<>(); - redisTemplate.setConnectionFactory(redisConnectionFactory); - // 设置值(value)的序列化采用FastJsonRedisSerializer - redisTemplate.setValueSerializer(fastJsonRedisSerializer()); - redisTemplate.setHashValueSerializer(fastJsonRedisSerializer()); - // 设置键(key)的序列化采用StringRedisSerializer。 - redisTemplate.setKeySerializer(new StringRedisSerializer()); - redisTemplate.setHashKeySerializer(new StringRedisSerializer()); - redisTemplate.afterPropertiesSet(); - return redisTemplate; - } - - - public FastJsonRedisSerializer fastJsonRedisSerializer() { - return new FastJsonRedisSerializer<>(Object.class); - } - - -} diff --git a/im-server/src/main/java/com/bx/imserver/netty/processor/GroupMessageProcessor.java b/im-server/src/main/java/com/bx/imserver/netty/processor/GroupMessageProcessor.java index 6f62d91..8aaaa37 100644 --- a/im-server/src/main/java/com/bx/imserver/netty/processor/GroupMessageProcessor.java +++ b/im-server/src/main/java/com/bx/imserver/netty/processor/GroupMessageProcessor.java @@ -8,11 +8,11 @@ import com.bx.imcommon.model.IMRecvInfo; import com.bx.imcommon.model.IMSendInfo; import com.bx.imcommon.model.IMSendResult; import com.bx.imcommon.model.IMUserInfo; +import com.bx.imcommon.mq.RedisMQTemplate; import com.bx.imserver.netty.UserChannelCtxMap; import io.netty.channel.ChannelHandlerContext; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import java.util.List; @@ -23,7 +23,7 @@ import java.util.Objects; @RequiredArgsConstructor public class GroupMessageProcessor extends AbstractMessageProcessor { - private final RedisTemplate redisTemplate; + private final RedisMQTemplate redisMQTemplate; @Override public void process(IMRecvInfo recvInfo) { @@ -35,7 +35,7 @@ public class GroupMessageProcessor extends AbstractMessageProcessor ChannelHandlerContext channelCtx = UserChannelCtxMap.getChannelCtx(receiver.getId(), receiver.getTerminal()); if (!Objects.isNull(channelCtx)) { // 推送消息到用户 - IMSendInfo sendInfo = new IMSendInfo(); + IMSendInfo sendInfo = new IMSendInfo<>(); sendInfo.setCmd(IMCmdType.GROUP_MESSAGE.code()); sendInfo.setData(recvInfo.getData()); channelCtx.channel().writeAndFlush(sendInfo); @@ -58,14 +58,14 @@ public class GroupMessageProcessor extends AbstractMessageProcessor private void sendResult(IMRecvInfo recvInfo, IMUserInfo receiver, IMSendCode sendCode) { if (recvInfo.getSendResult()) { - IMSendResult result = new IMSendResult(); + IMSendResult result = new IMSendResult<>(); result.setSender(recvInfo.getSender()); result.setReceiver(receiver); result.setCode(sendCode.code()); result.setData(recvInfo.getData()); // 推送到结果队列 String key = StrUtil.join(":",IMRedisKey.IM_RESULT_GROUP_QUEUE,recvInfo.getServiceName()); - redisTemplate.opsForList().rightPush(key, result); + redisMQTemplate.opsForList().rightPush(key, result); } } } diff --git a/im-server/src/main/java/com/bx/imserver/netty/processor/HeartbeatProcessor.java b/im-server/src/main/java/com/bx/imserver/netty/processor/HeartbeatProcessor.java index 2a0e997..275a271 100644 --- a/im-server/src/main/java/com/bx/imserver/netty/processor/HeartbeatProcessor.java +++ b/im-server/src/main/java/com/bx/imserver/netty/processor/HeartbeatProcessor.java @@ -30,7 +30,6 @@ public class HeartbeatProcessor extends AbstractMessageProcessor heartBeatAttr = AttributeKey.valueOf(ChannelAttrKey.HEARTBEAT_TIMES); Long heartbeatTimes = ctx.channel().attr(heartBeatAttr).get(); diff --git a/im-server/src/main/java/com/bx/imserver/netty/processor/PrivateMessageProcessor.java b/im-server/src/main/java/com/bx/imserver/netty/processor/PrivateMessageProcessor.java index 3cae629..8ab5101 100644 --- a/im-server/src/main/java/com/bx/imserver/netty/processor/PrivateMessageProcessor.java +++ b/im-server/src/main/java/com/bx/imserver/netty/processor/PrivateMessageProcessor.java @@ -8,11 +8,11 @@ import com.bx.imcommon.model.IMRecvInfo; import com.bx.imcommon.model.IMSendInfo; import com.bx.imcommon.model.IMSendResult; import com.bx.imcommon.model.IMUserInfo; +import com.bx.imcommon.mq.RedisMQTemplate; import com.bx.imserver.netty.UserChannelCtxMap; import io.netty.channel.ChannelHandlerContext; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import java.util.Objects; @@ -22,7 +22,7 @@ import java.util.Objects; @RequiredArgsConstructor public class PrivateMessageProcessor extends AbstractMessageProcessor { - private final RedisTemplate redisTemplate; + private final RedisMQTemplate redisMQTemplate; @Override public void process(IMRecvInfo recvInfo) { @@ -61,7 +61,7 @@ public class PrivateMessageProcessor extends AbstractMessageProcessor { - private final RedisTemplate redisTemplate; + private final RedisMQTemplate redisMQTemplate; @Override public void process(IMRecvInfo recvInfo) { @@ -61,7 +61,7 @@ public class SystemMessageProcessor extends AbstractMessageProcessor result.setData(recvInfo.getData()); // 推送到结果队列 String key = StrUtil.join(":",IMRedisKey.IM_RESULT_SYSTEM_QUEUE,recvInfo.getServiceName()); - redisTemplate.opsForList().rightPush(key, result); + redisMQTemplate.opsForList().rightPush(key, result); } } } diff --git a/im-server/src/main/java/com/bx/imserver/netty/tcp/TcpSocketServer.java b/im-server/src/main/java/com/bx/imserver/netty/tcp/TcpSocketServer.java index d4130ff..01f03ea 100644 --- a/im-server/src/main/java/com/bx/imserver/netty/tcp/TcpSocketServer.java +++ b/im-server/src/main/java/com/bx/imserver/netty/tcp/TcpSocketServer.java @@ -17,14 +17,14 @@ import org.springframework.stereotype.Component; import java.util.concurrent.TimeUnit; /** - * TCP服务器,用于连接非网页的客户端,协议格式: 4字节内容的长度+IMSendInfo的JSON序列化 + * TCP服务器,用于连接非网页的客户端,协议格式: 8字节内容的长度+IMSendInfo的JSON序列化 * * @author Blue * @date 2022-11-20 */ @Slf4j @Component -@ConditionalOnProperty(prefix = "tcpsocket", value = "enable", havingValue = "true", matchIfMissing = true) +@ConditionalOnProperty(prefix = "tcpsocket", value = "enable", havingValue = "true", matchIfMissing = false) public class TcpSocketServer implements IMServer { private volatile boolean ready = false; diff --git a/im-server/src/main/java/com/bx/imserver/netty/ws/WebSocketServer.java b/im-server/src/main/java/com/bx/imserver/netty/ws/WebSocketServer.java index ffd0e4e..14af9c4 100644 --- a/im-server/src/main/java/com/bx/imserver/netty/ws/WebSocketServer.java +++ b/im-server/src/main/java/com/bx/imserver/netty/ws/WebSocketServer.java @@ -28,7 +28,7 @@ import java.util.concurrent.TimeUnit; */ @Slf4j @Component -@ConditionalOnProperty(prefix = "websocket", value = "enable", havingValue = "true", matchIfMissing = true) +@ConditionalOnProperty(prefix = "websocket", value = "enable", havingValue = "true", matchIfMissing = false) public class WebSocketServer implements IMServer { @Value("${websocket.port}")