From 1d8b86501d75dbd39c1820dd4446da05bec678f3 Mon Sep 17 00:00:00 2001
From: TangCheng <tangchengmail@163.com>
Date: 星期日, 13 四月 2025 11:46:52 +0800
Subject: [PATCH] 添加显示链接资源接口

---
 JAVA/SMTAIServer/src/main/resources/requestmap/system_manager.json                                  |   10 ++++++++++
 JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/metrics/base/SMTDimensionDef.java |    2 +-
 JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/datasource/SMTDataSource.java     |    2 ++
 JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTSystemManagerControl.java     |    8 ++++++++
 JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/datasource/SMTDataSourceJDBC.java |   14 ++++++++++++++
 JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/core/SMTAIServerApp.java                 |   20 ++++++++++++++++++++
 6 files changed, 55 insertions(+), 1 deletions(-)

diff --git a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTSystemManagerControl.java b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTSystemManagerControl.java
index 3b045a0..ecdb822 100644
--- a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTSystemManagerControl.java
+++ b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/control/SMTSystemManagerControl.java
@@ -1029,5 +1029,13 @@
 		}
 	}
 
+	public ModelAndView getResourceUsage(SMTAIServerRequest tranReq) throws Exception 
+	{
+		SMTJsonWriter jsonWr = tranReq.newReturnJsonWriter(true, null, null);
+		
+		SMTAIServerApp.getApp().getDatasourceUsgaeToJson(jsonWr);
+		
+		return tranReq.returnJson(jsonWr);
+	}
 
 }
diff --git a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/core/SMTAIServerApp.java b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/core/SMTAIServerApp.java
index 43ad403..e9026da 100644
--- a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/core/SMTAIServerApp.java
+++ b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/core/SMTAIServerApp.java
@@ -253,6 +253,9 @@
 		dsDataSource.setTestOnReturn(_dbTestOnReturn);
 		dsDataSource.setPoolPreparedStatements(_dbPoolPreparedStatements);
 		dsDataSource.setMaxPoolPreparedStatementPerConnectionSize(_dbMaxPoolPreparedStatementPerConnectionSize);
+		dsDataSource.setConnectionErrorRetryAttempts(0);
+		dsDataSource.setTestWhileIdle(false);      // 鍏抽棴绌洪棽妫�娴�
+		dsDataSource.setKeepAlive(false);
 		
 		return dsDataSource;
 	}
@@ -368,6 +371,23 @@
 		}
 	}
 	
+	public void getDatasourceUsgaeToJson(SMTJsonWriter jsonWr) throws Exception
+	{
+		if(_dsDataSource == null)
+			return;	
+		
+		jsonWr.beginMap("SYSTEM_DS");
+		{
+			jsonWr.addKeyValue("connect", _dsDataSource.getActiveCount() + _dsDataSource.getPoolingCount());
+		}
+		jsonWr.endMap();
+		
+		for(SMTDataSource dataSource : this.getDataSourceMap().values())
+		{
+			dataSource.getDatasourceUsgaeToJson(jsonWr);
+		}
+	}
+	
 	public SMTDatabase allocDatabase() throws Exception
 	{
 		if(_dsDataSource == null)
diff --git a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/datasource/SMTDataSource.java b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/datasource/SMTDataSource.java
index b56fa49..e6a571d 100644
--- a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/datasource/SMTDataSource.java
+++ b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/datasource/SMTDataSource.java
@@ -2,6 +2,7 @@
 
 import com.smtaiserver.smtaiserver.database.SMTDatabase;
 import com.smtaiserver.smtaiserver.database.SMTDatabase.DBRecord;
+import com.smtservlet.util.SMTJsonWriter;
 
 public abstract class SMTDataSource
 {
@@ -18,4 +19,5 @@
 	}
 	
 	public abstract SMTDatabase allocDatabase() throws Exception;
+	public abstract void getDatasourceUsgaeToJson(SMTJsonWriter jsonWr) throws Exception;
 }
diff --git a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/datasource/SMTDataSourceJDBC.java b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/datasource/SMTDataSourceJDBC.java
index 1f3fde7..55b84e7 100644
--- a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/datasource/SMTDataSourceJDBC.java
+++ b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/datasource/SMTDataSourceJDBC.java
@@ -7,6 +7,7 @@
 import com.smtaiserver.smtaiserver.database.SMTDatabase;
 import com.smtaiserver.smtaiserver.database.SMTDatabase.DBRecord;
 import com.smtservlet.util.Json;
+import com.smtservlet.util.SMTJsonWriter;
 
 public class SMTDataSourceJDBC extends SMTDataSource
 {
@@ -40,4 +41,17 @@
 			throw new Exception("can't create connect data source : " + this.getId());
 		}
 	}
+	
+	@Override
+	public void getDatasourceUsgaeToJson(SMTJsonWriter jsonWr) throws Exception
+	{
+		if(_dsDataSource == null)
+			return;	
+		
+		jsonWr.beginMap(this.getId());
+		{
+			jsonWr.addKeyValue("connect", _dsDataSource.getActiveCount() + _dsDataSource.getPoolingCount());
+		}
+		jsonWr.endMap();
+	}
 }
diff --git a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/metrics/base/SMTDimensionDef.java b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/metrics/base/SMTDimensionDef.java
index c68e880..001ad26 100644
--- a/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/metrics/base/SMTDimensionDef.java
+++ b/JAVA/SMTAIServer/src/main/java/com/smtaiserver/smtaiserver/javaai/metrics/base/SMTDimensionDef.java
@@ -104,7 +104,7 @@
 				}
 				catch(Exception ex)
 				{
-					_logger.fatal("load dim value list from db error : " + _id, ex);
+					_logger.fatal("load dim value list from db error : " + _id + ", error=" + ex.getMessage());
 				}
 			}
 
diff --git a/JAVA/SMTAIServer/src/main/resources/requestmap/system_manager.json b/JAVA/SMTAIServer/src/main/resources/requestmap/system_manager.json
index 0796aa0..b695671 100644
--- a/JAVA/SMTAIServer/src/main/resources/requestmap/system_manager.json
+++ b/JAVA/SMTAIServer/src/main/resources/requestmap/system_manager.json
@@ -336,5 +336,15 @@
 				]
 			}
 		]
+	},
+	
+	"admin/system/get_resource_usage":{"map":{"class":"#SMTSystemManagerControl", "method":"getResourceUsage"},
+			"swaggers":[
+			{	"tags" : ["璧勬簮绠$悊"],
+				"title" : "鏌ョ湅璧勬簮淇℃伅",
+				"parameters" : [
+				]
+			}
+		]
 	}
 }
\ No newline at end of file

--
Gitblit v1.9.3