From 1ee76c252f2dbba62e0ec34cccf9eaac51de9083 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 23 七月 2025 16:25:23 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/netty/client/ChannelMap.java | 62 +++++++++++++++++++++++++------ 1 files changed, 50 insertions(+), 12 deletions(-) diff --git a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/netty/client/ChannelMap.java b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/netty/client/ChannelMap.java index 49e8521..29aa78f 100644 --- a/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/netty/client/ChannelMap.java +++ b/ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/netty/client/ChannelMap.java @@ -7,8 +7,8 @@ import io.netty.channel.group.DefaultChannelGroup; import io.netty.util.concurrent.GlobalEventExecutor; +import java.util.HashMap; import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; /** * @author zhibing.pu @@ -16,17 +16,17 @@ */ public class ChannelMap { //存储主链路通道 - private static final ChannelGroup SERVER_GROUP = new DefaultChannelGroup("Jtt809Server", GlobalEventExecutor.INSTANCE); + private static ChannelGroup SERVER_GROUP = new DefaultChannelGroup("Jtt809Server", GlobalEventExecutor.INSTANCE); //存储主链路ID - private static final Map<Integer, ChannelId> SERVER_ID_MAP = new ConcurrentHashMap<>(); + private static Map<Integer, ChannelId> SERVER_ID_MAP = new HashMap<>(); //存储从链路通道 - private static final ChannelGroup CLIENT_GROUP = new DefaultChannelGroup("Jtt809Client", GlobalEventExecutor.INSTANCE); + private static ChannelGroup CLIENT_GROUP = new DefaultChannelGroup("Jtt809Client", GlobalEventExecutor.INSTANCE); //存储从链路ID - private static final Map<Integer, ChannelId> CLIENT_ID_MAP = new ConcurrentHashMap<>(); + private static Map<Integer, ChannelId> CLIENT_ID_MAP = new HashMap<>(); //存储从链路连接地址和端口号 - private static final Map<Integer, UPConnect> IP_PORT = new ConcurrentHashMap<>(); + private static Map<Integer, UPConnect> IP_PORT = new HashMap<>(); //存储从链路连接重试次数 - private static final Map<Integer, Integer> TIMES = new ConcurrentHashMap<>(); + private static Map<Integer, Integer> TIMES = new HashMap<>(); /** * 保存通道 @@ -34,8 +34,15 @@ * @param key * @param channel */ - public static void addClientChannel(int key, ChannelId channel) { - CLIENT_ID_MAP.put(key, channel); + public static void addClientChannel(int key, Channel channel) { + if(null == CLIENT_ID_MAP){ + CLIENT_ID_MAP = new HashMap<>(); + } + CLIENT_ID_MAP.put(key, channel.id()); + if(null == CLIENT_GROUP){ + CLIENT_GROUP = new DefaultChannelGroup("Jtt809Client", GlobalEventExecutor.INSTANCE); + } + CLIENT_GROUP.add(channel); } @@ -46,7 +53,16 @@ * @return */ public static Channel getClientChannel(int key) { + if(null == CLIENT_ID_MAP){ + CLIENT_ID_MAP = new HashMap<>(); + } ChannelId channelId = CLIENT_ID_MAP.get(key); + if (null == channelId) { + return null; + } + if(null == CLIENT_GROUP){ + CLIENT_GROUP = new DefaultChannelGroup("Jtt809Client", GlobalEventExecutor.INSTANCE); + } Channel channel = CLIENT_GROUP.find(channelId); return channel; } @@ -58,8 +74,15 @@ * @param key * @param channel */ - public static void addServerChannel(int key, ChannelId channel) { - SERVER_ID_MAP.put(key, channel); + public static void addServerChannel(int key, Channel channel) { + if(null == SERVER_ID_MAP){ + SERVER_ID_MAP = new HashMap<>(); + } + SERVER_ID_MAP.put(key, channel.id()); + if(null == SERVER_GROUP){ + SERVER_GROUP = new DefaultChannelGroup("Jtt809Server", GlobalEventExecutor.INSTANCE); + } + SERVER_GROUP.add(channel); } @@ -71,6 +94,9 @@ */ public static Channel getServerChannel(int key) { ChannelId channelId = SERVER_ID_MAP.get(key); + if (null == channelId) { + return null; + } Channel channel = SERVER_GROUP.find(channelId); return channel; } @@ -83,6 +109,9 @@ * @param req */ public static void addIpAndPort(int key, UPConnect req) { + if(null == IP_PORT){ + IP_PORT = new HashMap<>(); + } IP_PORT.put(key, req); } @@ -93,6 +122,9 @@ * @param key */ public static UPConnect getIpAndPort(int key) { + if(null == IP_PORT){ + IP_PORT = new HashMap<>(); + } return IP_PORT.get(key); } @@ -102,7 +134,10 @@ * @param key * @return */ - public static int getTimes(int key) { + public static Integer getTimes(int key) { + if(null == TIMES){ + TIMES = new HashMap<>(); + } return TIMES.get(key); } @@ -113,6 +148,9 @@ * @return */ public static int saveTimes(int key, int t) { + if(null == TIMES){ + TIMES = new HashMap<>(); + } return TIMES.put(key, t); } } -- Gitblit v1.7.1