From dd694b8a3d05e2d785413182e1c28b25a5b3f431 Mon Sep 17 00:00:00 2001 From: Administrator <zhubaomin> Date: 星期三, 20 十二月 2023 17:24:08 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/TcpSessionCacheBk.java | 41 ++++++++++++++++++++--------------------- 1 files changed, 20 insertions(+), 21 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/TcpSessionCach.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/TcpSessionCacheBk.java similarity index 86% rename from pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/TcpSessionCach.java rename to pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/TcpSessionCacheBk.java index 5a97810..a9905a8 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/TcpSessionCach.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/TcpSessionCacheBk.java @@ -1,27 +1,24 @@ package com.dy.aceMw.server.forTcp; -import java.net.InetAddress; -import java.net.InetSocketAddress; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Hashtable; -import java.util.Iterator; -import java.util.List; -import java.util.Map.Entry; - +import com.dy.aceMw.server.ServerProperties; import org.apache.mina.core.session.IoSession; -import com.dy.aceMw.server.ServerProperties; +import java.net.InetAddress; +import java.net.InetSocketAddress; +import java.util.*; +import java.util.Map.Entry; - -public class TcpSessionCach { +/** + * 鐢℉ashtable瀹炵幇锛屼絾瀹炴祴鍙戠幇Hashtable骞朵笉绾跨▼瀹夊叏 + */ +public class TcpSessionCacheBk { /** * 鐢℉ashtable鑰屼笉鐢℉ashMap鍘熷洜锛� * Hashtable绾跨▼瀹夊叏鐨� * HashMap绾跨▼涓嶅畨鍏ㄧ殑 * 澶氱嚎绋嬪sessionTable璇诲嚭鎴栧瓨鍏ワ紝鍙兘浜х敓寮傚父 - * 铏界劧鏄崟涓富绾跨▼锛屼絾鍦↗groups web鎴愬憳鏌ヨ鍦ㄧ嚎鎯呭喌鏃讹紝Jgroups鐨勭嚎绋嬬洿鎺ヤ镜鍏ワ紝浠庤�屽舰鎴愬绾跨▼鐜锛屽绾跨▼閬嶅巻鏃讹紝Map鎴愬憳鏁伴噺鏈夊彉鍖栧氨浼氫骇鐢熷紓甯� + * TcpSessionCache鏄湪澶氱嚎绋嬬幆澧冧笅杩愯 */ private static Hashtable<String, TcpSession> sessionTable = new Hashtable<String, TcpSession>() ; @@ -51,12 +48,14 @@ * @param ioSession */ public static void changeRtuAddr(String oldRtuAddr, String newRtuAddr, String protocolName, IoSession ioSession){ - TcpSession tcpSe = sessionTable.get(oldRtuAddr) ; - if(tcpSe == null){ - putNewTcpSession(newRtuAddr, protocolName, ioSession) ; - }else{ - sessionTable.remove(oldRtuAddr) ; - sessionTable.put(newRtuAddr, tcpSe) ; + if(oldRtuAddr != null && newRtuAddr != null && !oldRtuAddr.equals(newRtuAddr)){ + TcpSession tcpSe = sessionTable.get(oldRtuAddr) ; + if(tcpSe == null){ + putNewTcpSession(newRtuAddr, protocolName, ioSession) ; + }else{ + sessionTable.remove(oldRtuAddr) ; + sessionTable.put(newRtuAddr, tcpSe) ; + } } } @@ -101,7 +100,7 @@ * 寰楀埌鎵�鏈塕TU杩炴帴鐘舵�佹儏鍐� * @return */ - public static List<RtuSessionStatus> allConnectStauts(){ + public static List<RtuSessionStatus> allConnectStatus(){ List<RtuSessionStatus> list = new ArrayList<RtuSessionStatus>(); Iterator<Entry<String, TcpSession>> it = sessionTable.entrySet().iterator() ; Entry<String, TcpSession> entry = null ; @@ -174,7 +173,7 @@ * 璁剧疆涓婅鏁版嵁鏃跺埢 * @param rtuAddr */ - public static void cachUpDataTime(String rtuAddr){ + public static void cacheUpDataTime(String rtuAddr){ TcpSession tcpSe = sessionTable.get(rtuAddr) ; if(tcpSe != null){ tcpSe.lastUpDataTime = System.currentTimeMillis() ; -- Gitblit v1.8.0