From 920ed6947d6780e4f25fd97b8a06f0e5081f1644 Mon Sep 17 00:00:00 2001 From: wenshao Date: Mon, 13 Aug 2012 20:10:54 +0800 Subject: [PATCH] add spring stat support --- .../druid/support/spring/stat/MethodInfo.java | 50 +++++++++++-------- .../support/spring/stat/SpringMethodStat.java | 2 +- 2 files changed, 31 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/alibaba/druid/support/spring/stat/MethodInfo.java b/src/main/java/com/alibaba/druid/support/spring/stat/MethodInfo.java index 03b715e981..e7f065b752 100644 --- a/src/main/java/com/alibaba/druid/support/spring/stat/MethodInfo.java +++ b/src/main/java/com/alibaba/druid/support/spring/stat/MethodInfo.java @@ -4,31 +4,38 @@ import java.lang.reflect.Method; public class MethodInfo { - private final Class instanceClass; - private final Method method; - private final String signature; + private String className; + private String methodName; + private final String signature; public MethodInfo(Class instanceClass, Method method){ - super(); - this.instanceClass = instanceClass; - this.method = method; - signature = getMethodSignature(this.getMethod()); + this.className = instanceClass.getName(); + this.methodName = method.getName(); + signature = getMethodSignature(method); } - public Class getInstanceClass() { - return instanceClass; + public String getClassName() { + return className; } - public Method getMethod() { - return method; + public void setClassName(String className) { + this.className = className; + } + + public String getMethodName() { + return methodName; + } + + public void setMethodName(String methodName) { + this.methodName = methodName; } @Override public int hashCode() { final int prime = 31; int result = 1; - result = prime * result + ((instanceClass == null) ? 0 : instanceClass.hashCode()); - result = prime * result + ((method == null) ? 0 : method.hashCode()); + result = prime * result + ((className == null) ? 0 : className.hashCode()); + result = prime * result + ((signature == null) ? 0 : signature.hashCode()); return result; } @@ -47,16 +54,19 @@ public class MethodInfo { } MethodInfo other = (MethodInfo) obj; - - if (instanceClass != other.instanceClass) { + if (className == null) { + if (other.className != null) { + return false; + } + } else if (!className.equals(other.className)) { return false; } - - if (signature == null) { - return other.signature == null; - } - if (!signature.equals(other.signature)) { + if (signature == null) { + if (other.signature != null) { + return false; + } + } else if (!signature.equals(other.signature)) { return false; } diff --git a/src/main/java/com/alibaba/druid/support/spring/stat/SpringMethodStat.java b/src/main/java/com/alibaba/druid/support/spring/stat/SpringMethodStat.java index b2084a2423..f77acc9033 100644 --- a/src/main/java/com/alibaba/druid/support/spring/stat/SpringMethodStat.java +++ b/src/main/java/com/alibaba/druid/support/spring/stat/SpringMethodStat.java @@ -177,7 +177,7 @@ public class SpringMethodStat { public Map getStatData() { Map data = new LinkedHashMap(); - data.put("Class", this.getMethodInfo().getInstanceClass().getName()); + data.put("Class", this.getMethodInfo().getClassName()); data.put("Method", this.getMethodInfo().getSignature()); data.put("RunningCount", this.getRunningCount());