Browse Source

代码规范

master
xie.bx 3 years ago
parent
commit
7b37c4dca5
  1. 2
      im-server/src/main/java/com/bx/imserver/netty/IMServerGroup.java
  2. 4
      im-server/src/main/java/com/bx/imserver/netty/processor/LoginProcessor.java
  3. 19
      im-server/src/main/java/com/bx/imserver/netty/tcp/TcpSocketServer.java
  4. 19
      im-server/src/main/java/com/bx/imserver/netty/ws/WebSocketServer.java
  5. 4
      im-server/src/main/java/com/bx/imserver/task/PullUnreadGroupMessageTask.java
  6. 4
      im-server/src/main/java/com/bx/imserver/task/PullUnreadPrivateMessageTask.java

2
im-server/src/main/java/com/bx/imserver/netty/IMServerMap.java → im-server/src/main/java/com/bx/imserver/netty/IMServerGroup.java

@ -12,7 +12,7 @@ import java.util.List;
@Slf4j
@Component
public class IMServerMap implements CommandLineRunner {
public class IMServerGroup implements CommandLineRunner {
public static volatile long serverId = 0;

4
im-server/src/main/java/com/bx/imserver/netty/processor/LoginProcessor.java

@ -6,7 +6,7 @@ import com.bx.imcommon.contant.RedisKey;
import com.bx.imcommon.enums.IMCmdType;
import com.bx.imcommon.model.IMSendInfo;
import com.bx.imcommon.model.LoginInfo;
import com.bx.imserver.netty.IMServerMap;
import com.bx.imserver.netty.IMServerGroup;
import com.bx.imserver.netty.UserChannelCtxMap;
import com.bx.imserver.netty.ws.WebSocketServer;
import io.netty.channel.ChannelHandlerContext;
@ -50,7 +50,7 @@ public class LoginProcessor extends MessageProcessor<LoginInfo> {
ctx.channel().attr(attr).set(0L);
// 在redis上记录每个user的channelId,15秒没有心跳,则自动过期
String key = RedisKey.IM_USER_SERVER_ID+loginInfo.getUserId();
redisTemplate.opsForValue().set(key, IMServerMap.serverId, Constant.ONLINE_TIMEOUT_SECOND, TimeUnit.SECONDS);
redisTemplate.opsForValue().set(key, IMServerGroup.serverId, Constant.ONLINE_TIMEOUT_SECOND, TimeUnit.SECONDS);
// 响应ws
IMSendInfo sendInfo = new IMSendInfo();
sendInfo.setCmd(IMCmdType.LOGIN.code());

19
im-server/src/main/java/com/bx/imserver/netty/tcp/TcpSocketServer.java

@ -34,9 +34,9 @@ public class TcpSocketServer implements IMServer {
@Value("${tcpsocket.port}")
private int port;
private ServerBootstrap bootstrap = new ServerBootstrap();
private EventLoopGroup bossGroup = new NioEventLoopGroup();
private EventLoopGroup workGroup = new NioEventLoopGroup();
private ServerBootstrap bootstrap;
private EventLoopGroup bossGroup;
private EventLoopGroup workGroup;
@Override
public boolean isReady() {
@ -45,6 +45,9 @@ public class TcpSocketServer implements IMServer {
@Override
public void start() {
bootstrap = new ServerBootstrap();
bossGroup = new NioEventLoopGroup();
workGroup = new NioEventLoopGroup();
// 设置为主从线程模型
bootstrap.group(bossGroup, workGroup)
// 设置服务端NIO通信类型
@ -84,10 +87,14 @@ public class TcpSocketServer implements IMServer {
@Override
public void stop(){
log.info("tcp server 停止");
bossGroup.shutdownGracefully();
workGroup.shutdownGracefully();
if(bossGroup != null && !bossGroup.isShuttingDown() && !bossGroup.isShutdown() ) {
bossGroup.shutdownGracefully();
}
if(workGroup != null && !workGroup.isShuttingDown() && !workGroup.isShutdown() ) {
workGroup.shutdownGracefully();
}
this.ready = false;
log.info("tcp server 停止");
}

19
im-server/src/main/java/com/bx/imserver/netty/ws/WebSocketServer.java

@ -37,9 +37,9 @@ public class WebSocketServer implements IMServer {
private volatile boolean ready = false;
private ServerBootstrap bootstrap = new ServerBootstrap();
private EventLoopGroup bossGroup = new NioEventLoopGroup();
private EventLoopGroup workGroup = new NioEventLoopGroup();
private ServerBootstrap bootstrap;
private EventLoopGroup bossGroup;
private EventLoopGroup workGroup;
@Override
@ -49,6 +49,9 @@ public class WebSocketServer implements IMServer {
@Override
public void start() {
bootstrap = new ServerBootstrap();
bossGroup = new NioEventLoopGroup();
workGroup = new NioEventLoopGroup();
// 设置为主从线程模型
bootstrap.group(bossGroup, workGroup)
// 设置服务端NIO通信类型
@ -92,10 +95,14 @@ public class WebSocketServer implements IMServer {
@Override
public void stop() {
log.info("websocket server 停止");
bossGroup.shutdownGracefully();
workGroup.shutdownGracefully();
if(bossGroup != null && !bossGroup.isShuttingDown() && !bossGroup.isShutdown() ) {
bossGroup.shutdownGracefully();
}
if(workGroup != null && !workGroup.isShuttingDown() && !workGroup.isShutdown() ) {
workGroup.shutdownGracefully();
}
this.ready = false;
log.info("websocket server 停止");
}

4
im-server/src/main/java/com/bx/imserver/task/PullUnreadGroupMessageTask.java

@ -4,7 +4,7 @@ import com.bx.imcommon.contant.RedisKey;
import com.bx.imcommon.enums.IMCmdType;
import com.bx.imcommon.model.GroupMessageInfo;
import com.bx.imcommon.model.IMRecvInfo;
import com.bx.imserver.netty.IMServerMap;
import com.bx.imserver.netty.IMServerGroup;
import com.bx.imserver.netty.processor.MessageProcessor;
import com.bx.imserver.netty.processor.ProcessorFactory;
import com.bx.imserver.netty.ws.WebSocketServer;
@ -30,7 +30,7 @@ public class PullUnreadGroupMessageTask extends AbstractPullMessageTask {
@Override
public void pullMessage() {
// 从redis拉取未读消息
String key = RedisKey.IM_UNREAD_GROUP_QUEUE + IMServerMap.serverId;
String key = RedisKey.IM_UNREAD_GROUP_QUEUE + IMServerGroup.serverId;
List messageInfos = redisTemplate.opsForList().range(key,0,-1);
for(Object o: messageInfos){
redisTemplate.opsForList().leftPop(key);

4
im-server/src/main/java/com/bx/imserver/task/PullUnreadPrivateMessageTask.java

@ -5,7 +5,7 @@ import com.bx.imcommon.contant.RedisKey;
import com.bx.imcommon.enums.IMCmdType;
import com.bx.imcommon.model.IMRecvInfo;
import com.bx.imcommon.model.PrivateMessageInfo;
import com.bx.imserver.netty.IMServerMap;
import com.bx.imserver.netty.IMServerGroup;
import com.bx.imserver.netty.processor.MessageProcessor;
import com.bx.imserver.netty.processor.ProcessorFactory;
import com.bx.imserver.netty.ws.WebSocketServer;
@ -30,7 +30,7 @@ public class PullUnreadPrivateMessageTask extends AbstractPullMessageTask {
@Override
public void pullMessage() {
// 从redis拉取未读消息
String key = RedisKey.IM_UNREAD_PRIVATE_QUEUE + IMServerMap.serverId;
String key = RedisKey.IM_UNREAD_PRIVATE_QUEUE + IMServerGroup.serverId;
List messageInfos = redisTemplate.opsForList().range(key,0,-1);
for(Object o: messageInfos){
redisTemplate.opsForList().leftPop(key);

Loading…
Cancel
Save