mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
improve Utils Performance
This commit is contained in:
@@ -13,6 +13,10 @@ public class WebAppStatUtils {
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static Map<String, Object> getStatData(Object webStat) {
|
||||
if (webStat.getClass() == WebAppStat.class) {
|
||||
return ((WebAppStat) webStat).getStatData();
|
||||
}
|
||||
|
||||
try {
|
||||
Method method = webStat.getClass().getMethod("getStatData");
|
||||
Object obj = method.invoke(webStat);
|
||||
@@ -22,9 +26,13 @@ public class WebAppStatUtils {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static List<Map<String, Object>> getURIStatDataList(Object webStat) {
|
||||
if (webStat.getClass() == WebAppStat.class) {
|
||||
return ((WebAppStat) webStat).getURIStatDataList();
|
||||
}
|
||||
|
||||
try {
|
||||
Method method = webStat.getClass().getMethod("getURIStatDataList");
|
||||
Object obj = method.invoke(webStat);
|
||||
@@ -34,9 +42,13 @@ public class WebAppStatUtils {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static List<Map<String, Object>> getSessionStatDataList(Object webStat) {
|
||||
if (webStat.getClass() == WebAppStat.class) {
|
||||
return ((WebAppStat) webStat).getSessionStatDataList();
|
||||
}
|
||||
|
||||
try {
|
||||
Method method = webStat.getClass().getMethod("getSessionStatDataList");
|
||||
Object obj = method.invoke(webStat);
|
||||
|
||||
@@ -6,6 +6,7 @@ import java.util.Map;
|
||||
|
||||
import javax.management.ObjectName;
|
||||
|
||||
import com.alibaba.druid.pool.DruidDataSource;
|
||||
import com.alibaba.druid.support.logging.Log;
|
||||
import com.alibaba.druid.support.logging.LogFactory;
|
||||
|
||||
@@ -14,6 +15,10 @@ public class DruidDataSourceUtils {
|
||||
private final static Log LOG = LogFactory.getLog(DruidDataSourceUtils.class);
|
||||
|
||||
public static String getUrl(Object druidDatasource) {
|
||||
if (druidDatasource.getClass() == DruidDataSource.class) {
|
||||
return ((DruidDataSource) druidDatasource).getUrl();
|
||||
}
|
||||
|
||||
try {
|
||||
Method method = druidDatasource.getClass().getMethod("getUrl");
|
||||
Object obj = method.invoke(druidDatasource);
|
||||
@@ -25,6 +30,10 @@ public class DruidDataSourceUtils {
|
||||
}
|
||||
|
||||
public static ObjectName getObjectName(Object druidDatasource) {
|
||||
if (druidDatasource.getClass() == DruidDataSource.class) {
|
||||
return ((DruidDataSource) druidDatasource).getObjectName();
|
||||
}
|
||||
|
||||
try {
|
||||
Method method = druidDatasource.getClass().getMethod("getObjectName");
|
||||
Object obj = method.invoke(druidDatasource);
|
||||
@@ -36,6 +45,10 @@ public class DruidDataSourceUtils {
|
||||
}
|
||||
|
||||
public static Object getSqlStat(Object druidDatasource, int sqlId) {
|
||||
if (druidDatasource.getClass() == DruidDataSource.class) {
|
||||
return ((DruidDataSource) druidDatasource).getSqlStat(sqlId);
|
||||
}
|
||||
|
||||
try {
|
||||
Method method = druidDatasource.getClass().getMethod("getSqlStat", int.class);
|
||||
Object obj = method.invoke(druidDatasource, sqlId);
|
||||
@@ -47,6 +60,10 @@ public class DruidDataSourceUtils {
|
||||
}
|
||||
|
||||
public static boolean isRemoveAbandoned(Object druidDatasource) {
|
||||
if (druidDatasource.getClass() == DruidDataSource.class) {
|
||||
return ((DruidDataSource) druidDatasource).isRemoveAbandoned();
|
||||
}
|
||||
|
||||
try {
|
||||
Method method = druidDatasource.getClass().getMethod("isRemoveAbandoned");
|
||||
Object obj = method.invoke(druidDatasource);
|
||||
@@ -59,6 +76,10 @@ public class DruidDataSourceUtils {
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static Map<String, Object> getStatDataForMBean(Object druidDatasource) {
|
||||
if (druidDatasource.getClass() == DruidDataSource.class) {
|
||||
return ((DruidDataSource) druidDatasource).getStatDataForMBean();
|
||||
}
|
||||
|
||||
try {
|
||||
Method method = druidDatasource.getClass().getMethod("getStatDataForMBean");
|
||||
Object obj = method.invoke(druidDatasource);
|
||||
@@ -71,6 +92,10 @@ public class DruidDataSourceUtils {
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static Map<String, Object> getStatData(Object druidDatasource) {
|
||||
if (druidDatasource.getClass() == DruidDataSource.class) {
|
||||
return ((DruidDataSource) druidDatasource).getStatData();
|
||||
}
|
||||
|
||||
try {
|
||||
Method method = druidDatasource.getClass().getMethod("getStatData");
|
||||
Object obj = method.invoke(druidDatasource);
|
||||
@@ -83,6 +108,10 @@ public class DruidDataSourceUtils {
|
||||
|
||||
@SuppressWarnings({ "rawtypes" })
|
||||
public static Map getSqlStatMap(Object druidDatasource) {
|
||||
if (druidDatasource.getClass() == DruidDataSource.class) {
|
||||
return ((DruidDataSource) druidDatasource).getSqlStatMap();
|
||||
}
|
||||
|
||||
try {
|
||||
Method method = druidDatasource.getClass().getMethod("getSqlStatMap");
|
||||
Object obj = method.invoke(druidDatasource);
|
||||
@@ -95,6 +124,10 @@ public class DruidDataSourceUtils {
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static List<Map<String, Object>> getPoolingConnectionInfo(Object druidDatasource) {
|
||||
if (druidDatasource.getClass() == DruidDataSource.class) {
|
||||
return ((DruidDataSource) druidDatasource).getPoolingConnectionInfo();
|
||||
}
|
||||
|
||||
try {
|
||||
Method method = druidDatasource.getClass().getMethod("getPoolingConnectionInfo");
|
||||
Object obj = method.invoke(druidDatasource);
|
||||
@@ -107,6 +140,10 @@ public class DruidDataSourceUtils {
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static List<String> getActiveConnectionStackTrace(Object druidDatasource) {
|
||||
if (druidDatasource.getClass() == DruidDataSource.class) {
|
||||
return ((DruidDataSource) druidDatasource).getActiveConnectionStackTrace();
|
||||
}
|
||||
|
||||
try {
|
||||
Method method = druidDatasource.getClass().getMethod("getActiveConnectionStackTrace");
|
||||
Object obj = method.invoke(druidDatasource);
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.alibaba.druid.util;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.Map;
|
||||
|
||||
import com.alibaba.druid.stat.JdbcSqlStat;
|
||||
import com.alibaba.druid.support.logging.Log;
|
||||
import com.alibaba.druid.support.logging.LogFactory;
|
||||
|
||||
@@ -13,6 +14,10 @@ public class JdbcSqlStatUtils {
|
||||
@SuppressWarnings("unchecked")
|
||||
public static Map<String, Object> getData(Object jdbcSqlStat) {
|
||||
try {
|
||||
if (jdbcSqlStat.getClass() == JdbcSqlStat.class) {
|
||||
return ((JdbcSqlStat) jdbcSqlStat).getData();
|
||||
}
|
||||
|
||||
Method method = jdbcSqlStat.getClass().getMethod("getData");
|
||||
Object obj = method.invoke(jdbcSqlStat);
|
||||
return (Map<String, Object>) obj;
|
||||
|
||||
Reference in New Issue
Block a user