From f32b4c189595afd4aec7e6f991ac998a2b058c04 Mon Sep 17 00:00:00 2001
From: DELL <1525436766@qq.com>
Date: 星期五, 06 九月 2024 14:01:38 +0800
Subject: [PATCH] V6.108 edit by lijun 	@  2024-09-06 	1.修复通信线程,MSQL抛出异常导致线程异常结束bug

---
 iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT_RamDB_Thread.java      |   33 ++++++++--------
 iec61850_forFoShanAES_Model/src/com/dec/fbs9100/main_BTS_APP_IEC61850.java         |    2 
 iec61850_forFoShanAES_Model/bin/com/version_inf/version_inf.txt                    |    3 +
 iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class       |    0 
 iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_RamDB_Thread.class     |    0 
 iec61850_forFoShanAES_Model/src/com/dec/fbs9100/FBS9100_Task_Thread_SQL.java       |   20 ++++++---
 iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java        |   12 +++--
 iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/FBS9100_Task_Thread_SQL.class      |    0 
 iec61850_forFoShanAES_Model/src/com/version_inf/version_inf.txt                    |    3 +
 iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/main_BTS_APP_IEC61850.class        |    0 
 iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_RamDB_Thread_SQL.class |    0 
 11 files changed, 43 insertions(+), 30 deletions(-)

diff --git a/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_RamDB_Thread.class b/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_RamDB_Thread.class
index 8251d11..c817892 100644
--- a/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_RamDB_Thread.class
+++ b/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_RamDB_Thread.class
Binary files differ
diff --git a/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_RamDB_Thread_SQL.class b/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_RamDB_Thread_SQL.class
index 7ede564..0f14abe 100644
--- a/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_RamDB_Thread_SQL.class
+++ b/iec61850_forFoShanAES_Model/bin/com/battdata_rt/BattData_RT_RamDB_Thread_SQL.class
Binary files differ
diff --git a/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class b/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class
index b8747ba..8fc2bd9 100644
--- a/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class
+++ b/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/BTS_61850_SocketClient.class
Binary files differ
diff --git a/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/FBS9100_Task_Thread_SQL.class b/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/FBS9100_Task_Thread_SQL.class
index 230091b..7e34844 100644
--- a/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/FBS9100_Task_Thread_SQL.class
+++ b/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/FBS9100_Task_Thread_SQL.class
Binary files differ
diff --git a/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/main_BTS_APP_IEC61850.class b/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/main_BTS_APP_IEC61850.class
index c2859b7..03e22a6 100644
--- a/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/main_BTS_APP_IEC61850.class
+++ b/iec61850_forFoShanAES_Model/bin/com/dec/fbs9100/main_BTS_APP_IEC61850.class
Binary files differ
diff --git a/iec61850_forFoShanAES_Model/bin/com/version_inf/version_inf.txt b/iec61850_forFoShanAES_Model/bin/com/version_inf/version_inf.txt
index 886b0e4..abce98c 100644
--- a/iec61850_forFoShanAES_Model/bin/com/version_inf/version_inf.txt
+++ b/iec61850_forFoShanAES_Model/bin/com/version_inf/version_inf.txt
@@ -3,6 +3,9 @@
 	 
 	娉ㄦ剰褰撳墠鐗堟湰鍦ㄨ缃传鏅剁粍2鐨�61850鍗忚浆绛惧悕鏃剁敤鐨� 	BTSE/
 
+V6.108 edit by lijun 	@  2024-09-06
+	1.淇閫氫俊绾跨▼锛孧SQL鎶涘嚭寮傚父瀵艰嚧绾跨▼寮傚父缁撴潫bug
+
 V6.107 edit by lijun 	@  2024-08-12 
 	1.鏂板鏀剧數鍘嗗彶鏁版嵁娓呮礂閫昏緫锛岄拡瀵逛簬鏀剧數娴嬭瘯鏁版嵁鏈熬娴嬭瘯鐢垫祦 < 骞冲潎鐢垫祦*0.8鐨勫巻鍙叉暟鎹Щ鍔ㄥ埌鏁版嵁娓呮礂琛ㄤ腑
 
diff --git a/iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT_RamDB_Thread.java b/iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT_RamDB_Thread.java
index 515a1a2..7d1a8f5 100644
--- a/iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT_RamDB_Thread.java
+++ b/iec61850_forFoShanAES_Model/src/com/battdata_rt/BattData_RT_RamDB_Thread.java
@@ -29,26 +29,25 @@
 		logger.info("Server Run State RT_RamDB_Thread Started... ");
 		
 		while(true) {
-			if(false == server_start_inf_set_ok) {
-				server_start_inf_set_ok = BattData_RT_RamDB_Thread_SQL
-											.updateServerStartInfTo_RamDB_Table(m_conn_pool, ser_ver);
-			}
-			
-			if(al_bgdata.size() < 1) {
-				try {
-					Thread.sleep(1000);
-				} catch (InterruptedException e) {
-					// TODO Auto-generated catch block
-					e.printStackTrace();
-				}
-				continue;
-			}
-			
 			try {
+				if(false == server_start_inf_set_ok) {
+					server_start_inf_set_ok = BattData_RT_RamDB_Thread_SQL
+												.updateServerStartInfTo_RamDB_Table(m_conn_pool, ser_ver);
+				}
+				
+				if(al_bgdata.size() < 1) {
+					try {
+						Thread.sleep(1000);
+					} catch (InterruptedException e) {
+						// TODO Auto-generated catch block
+						e.printStackTrace();
+					}
+					continue;
+				}
+			
 				Thread.sleep(3000);
 				BattData_RT_RamDB_Thread_SQL.updateServerState_RamDB_Table(m_conn_pool);
-			} catch (InterruptedException e) {
-				// TODO Auto-generated catch block
+			} catch (Exception e) {
 				logger.error(e.toString(), e);
 			}
 		}
diff --git a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java
index 6919bae..b341419 100644
--- a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java
+++ b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/BTS_61850_SocketClient.java
@@ -36,6 +36,7 @@
 import com.battdata_rt.BattData_RT;
 import com.battdata_rt.BattData_RT_Array;
 import com.dec.fbs9100.FBS9100_TestTime;
+import com.mysql.jdbc.exceptions.MySQLTimeoutException;
 
 /****************************************************************************************************/
 public class BTS_61850_SocketClient extends Thread {
@@ -246,6 +247,7 @@
 							FBS9100_Task_Thread_SQL.queryFBS9100SysParamBydev_id(m_ConnPool, m_StatAndParam); // 鏌ヨ绯荤粺鍙傛暟
 						
 							FBS9100_Task_Thread_SQL.queryDev6185AlmParamBydev_id(m_ConnPool, m_StatAndParam); // 鏌ヨ鍛婅鍙傛暟
+							
 						}
 					}
 					
@@ -520,11 +522,11 @@
 						break;
 					}
 					// ---------------------------------------------------------------------------------//
-				} catch (InterruptedException e) {
-					logger.error(e.toString(), e);
-					
+				} catch (Exception e) {
 					try {
+						logger.error("IP:" + FBSDeviceIp + " " + this.getName() + " - BTS_IEC61850_ClientThread Connect Break Now By " + e.toString(), e);
 						sleep(1000);
+						break;
 					} catch (InterruptedException e1) {
 						// TODO Auto-generated catch block
 						logger.error(e1.toString(), e1);
@@ -540,9 +542,9 @@
 			//m_ServerModel = null;
 		} catch (Exception e) {
 			logger.error(e.toString(), e);
+		} finally {
+			logger.error("IP:" + FBSDeviceIp + " " + this.getName() + " - BTS_IEC61850_ClientThread Connect Stopped ...");
 		}
-		
-		logger.debug("IP:" + FBSDeviceIp + " " + this.getName() + " - BTS_IEC61850_ClientThread Stopped ...");
 	}
 
 	// 绂荤嚎鍏绘姢璁″垝
diff --git a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/FBS9100_Task_Thread_SQL.java b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/FBS9100_Task_Thread_SQL.java
index 6c8d745..e6badf6 100644
--- a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/FBS9100_Task_Thread_SQL.java
+++ b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/FBS9100_Task_Thread_SQL.java
@@ -655,8 +655,9 @@
 	{
 		String sql_str = "SELECT * FROM " + Sql_Mysql.FBS9100SetParam_Table;
 		Sql_Mysql sql = new Sql_Mysql(con_pool);
-		ResultSet res = sql.sqlMysqlQuery(sql_str);
+		ResultSet res = null;
 		try {
+			res = sql.sqlMysqlQuery(sql_str);
 			while(res.next())
 			{
 				FBS9100_StatAndParam param = null;
@@ -688,7 +689,6 @@
 				}
 			}
 		} catch (SQLException e) {
-			// TODO Auto-generated catch block
 			sql.logger.error("FBS9100_Task_Thread_SQL.queryFbs9100SetParam():" + e.toString(), e);
 		} finally {
 			if(null != res) {
@@ -712,8 +712,9 @@
 	{
 		String sql_str = "SELECT * FROM " + Sql_Mysql.FBS9100SetParam_Table + " where dev_id = " + param.dev_id;
 		Sql_Mysql sql = new Sql_Mysql(con_pool);
-		ResultSet res = sql.sqlMysqlQuery(sql_str);
+		ResultSet res = null;
 		try {
+			res = sql.sqlMysqlQuery(sql_str);
 			if(res.next())
 			{
 				if(null != param) {
@@ -820,8 +821,9 @@
 		//System.out.println(param.dev_id);
 		String sql_str = "SELECT * FROM " + Sql_Mysql.FBS9100SetDLParam_Table + " where dev_id = " + param.dev_id;
 		Sql_Mysql sql = new Sql_Mysql(con_pool);
-		ResultSet res = sql.sqlMysqlQuery(sql_str);
+		ResultSet res = null;
 		try {
+			res = sql.sqlMysqlQuery(sql_str);
 			if(res.next())
 			{
 				if(null != param) {
@@ -1301,8 +1303,9 @@
 	public static void queryFBS9100SysParamBydev_id(MysqlConnPool con_pool, FBS9100_StatAndParam param) {
 		String sql_str = "SELECT * FROM " + Sql_Mysql.FBS9100SysParam_Table + " where dev_id = " + param.dev_id;
 		Sql_Mysql sql = new Sql_Mysql(con_pool);
-		ResultSet res = sql.sqlMysqlQuery(sql_str);
+		ResultSet res = null;
 		try {
+			res = sql.sqlMysqlQuery(sql_str);
 			if(res.next())
 			{
 				if(null != param) {
@@ -1525,9 +1528,10 @@
 	public static void queryBTS61850OffLineyhPlanOnRam(MysqlConnPool m_ConnPool, FBS9100_StatAndParam param) {
 		String sql_str = " SELECT * FROM " + Sql_Mysql.FBS9100_offlineyhplan + " WHERE dev_id = " + param.dev_id ;
 		Sql_Mysql sql = new Sql_Mysql(m_ConnPool);
-		ResultSet res = sql.sqlMysqlQuery(sql_str);
 		BTS61850_OffLineYHPlan plan = param.bts61850_OffLineYHPlan;
+		ResultSet res = null;
 		try {
+			res = sql.sqlMysqlQuery(sql_str);
 			if(res.next()) {
 				plan.OffLineYH_Cycle = res.getInt("OffLineYH_Cycle");
 				plan.OffLineYHOnceCycle = res.getInt("OffLineYHOnceCycle");
@@ -1730,8 +1734,10 @@
 	public static void queryDev6185AlmParamBydev_id(MysqlConnPool con_pool, FBS9100_StatAndParam param) {
 		String sql_str = "SELECT * FROM " + Sql_Mysql.Dev_6185_AlmParam + " where dev_id = " + param.dev_id;
 		Sql_Mysql sql = new Sql_Mysql(con_pool);
-		ResultSet res = sql.sqlMysqlQuery(sql_str);
+		ResultSet res = null;
+		
 		try {
+			res = sql.sqlMysqlQuery(sql_str);
 			if(res.next())
 			{
 				if(null != param) {
diff --git a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/main_BTS_APP_IEC61850.java b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/main_BTS_APP_IEC61850.java
index 66fcc39..6f2544d 100644
--- a/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/main_BTS_APP_IEC61850.java
+++ b/iec61850_forFoShanAES_Model/src/com/dec/fbs9100/main_BTS_APP_IEC61850.java
@@ -29,7 +29,7 @@
     /**************************************************************************/
     /**************************************************************************/
     public final static boolean app_debug = false;
-    public final static double m_VersionNum = 6.107;
+    public final static double m_VersionNum = 6.108;
     public final static String m_Version = "Welcome To Use BattMonitor_BTS_IEC61850 V" 
                                             + m_VersionNum + " RC_20201003";
     /**************************************************************************/
diff --git a/iec61850_forFoShanAES_Model/src/com/version_inf/version_inf.txt b/iec61850_forFoShanAES_Model/src/com/version_inf/version_inf.txt
index 886b0e4..abce98c 100644
--- a/iec61850_forFoShanAES_Model/src/com/version_inf/version_inf.txt
+++ b/iec61850_forFoShanAES_Model/src/com/version_inf/version_inf.txt
@@ -3,6 +3,9 @@
 	 
 	娉ㄦ剰褰撳墠鐗堟湰鍦ㄨ缃传鏅剁粍2鐨�61850鍗忚浆绛惧悕鏃剁敤鐨� 	BTSE/
 
+V6.108 edit by lijun 	@  2024-09-06
+	1.淇閫氫俊绾跨▼锛孧SQL鎶涘嚭寮傚父瀵艰嚧绾跨▼寮傚父缁撴潫bug
+
 V6.107 edit by lijun 	@  2024-08-12 
 	1.鏂板鏀剧數鍘嗗彶鏁版嵁娓呮礂閫昏緫锛岄拡瀵逛簬鏀剧數娴嬭瘯鏁版嵁鏈熬娴嬭瘯鐢垫祦 < 骞冲潎鐢垫祦*0.8鐨勫巻鍙叉暟鎹Щ鍔ㄥ埌鏁版嵁娓呮礂琛ㄤ腑
 

--
Gitblit v1.9.1