diff --git a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java index 02e5d8ea4..65ef392ad 100644 --- a/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java +++ b/jsowell-common/src/main/java/com/jsowell/common/enums/ykc/PileChannelEntity.java @@ -59,10 +59,16 @@ public class PileChannelEntity { } public static void removeByPileSn(String pileSn){ + if (StringUtils.isBlank(pileSn)) { + return; + } manager.remove(pileSn); } public static void removeByChannelId(String channelId){ + if (StringUtils.isBlank(channelId)) { + return; + } String pileSn = getPileSnByChannelId(channelId); if (StringUtils.isNotBlank(pileSn)) { manager.remove(pileSn); diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/NettyServerHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/NettyServerHandler.java index d98fa610f..c5db0236c 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/NettyServerHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/server/yunkuaichong/NettyServerHandler.java @@ -3,6 +3,7 @@ package com.jsowell.netty.server.yunkuaichong; import com.google.common.collect.Lists; import com.jsowell.common.enums.ykc.PileChannelEntity; import com.jsowell.common.util.BytesUtil; +import com.jsowell.common.util.StringUtils; import com.jsowell.common.util.YKCUtils; import com.jsowell.netty.service.yunkuaichong.YKCBusinessService; import io.netty.buffer.ByteBuf; @@ -178,10 +179,8 @@ public class NettyServerHandler extends ChannelInboundHandlerAdapter { log.error("Client-IP:【{}】, channelId:【{}】, pileSn:【{}】, ALL_IDLE 总超时", socketString, channelId, pileSn); } if (flag) { - log.error("发生异常,关闭链接,channelId:{}, pileSn:{}", channelId.asShortText(), pileSn); ctx.channel().close(); - - close(channelId); + close(channelId, pileSn); } } } @@ -203,15 +202,17 @@ public class NettyServerHandler extends ChannelInboundHandlerAdapter { } log.error("【{}】发生了错误, pileSn:【{}】此连接被关闭, 此时连通数量: {}", channelId, pileSn, CHANNEL_MAP.size()); ctx.channel().close(); - - close(channelId); } + close(channelId, pileSn); } - private void close(ChannelId channelId) { - // 删除桩编号和channel的关系 - PileChannelEntity.removeByChannelId(channelId.asLongText()); + private void close(ChannelId channelId, String pileSn) { + log.error("close方法-发生异常,关闭链接,channelId:{}, pileSn:{}", channelId.asShortText(), pileSn); + // 删除桩编号和channel的关系 + if (StringUtils.isNotBlank(pileSn)) { + PileChannelEntity.removeByPileSn(pileSn); + } // 删除连接 CHANNEL_MAP.remove(channelId); }