diff --git a/src/main/java/com/alibaba/druid/util/ReflectionUtils.java b/src/main/java/com/alibaba/druid/util/ReflectionUtils.java index 9984752e89..045313c4ec 100644 --- a/src/main/java/com/alibaba/druid/util/ReflectionUtils.java +++ b/src/main/java/com/alibaba/druid/util/ReflectionUtils.java @@ -1,6 +1,5 @@ package com.alibaba.druid.util; -import java.lang.reflect.Constructor; import java.lang.reflect.Method; import javax.servlet.http.HttpServletRequest; @@ -20,13 +19,13 @@ public class ReflectionUtils { try { result = HttpServletRequest.class.getClassLoader().loadClass(className); } catch (ClassNotFoundException e) { - LOG.warn(e.getMessage(), e); + if (LOG.isDebugEnabled()) LOG.debug("can'r find class in web container classLoader ", e); } if (result == null) { try { result = Thread.currentThread().getContextClassLoader().loadClass(className); } catch (ClassNotFoundException e) { - LOG.warn(e.getMessage(), e); + LOG.error("can'r find class in current thread context classLoader ", e); } } return result; @@ -38,33 +37,19 @@ public class ReflectionUtils { Method m = classObject.getMethod(methodName); return m.invoke(classObject); } catch (Exception e) { - LOG.error(e.getMessage(), e); + LOG.warn("callStaticMethod fail:class=" + classObject.getName() + " method=" + methodName, e); + return null; } - return null; } - public static Object callObjectMethod(Object obj, String methodName) { + public static Object callObjectMethod(Object obj, String methodName, Object... methodParams) { try { - Constructor ctor = ((Class) obj).getConstructor(); - Object instance = ctor.newInstance(); - Method m = ((Class) obj).getMethod(methodName); // 获取方法 - return m.invoke(instance); + Method m = obj.getClass().getMethod(methodName); + return m.invoke(obj, methodParams); } catch (Exception e) { - LOG.error(e.getMessage(), e); + LOG.warn("callObjectMethod fail:class=" + obj.getClass().getName() + " method=" + methodName, e); + return null; } - return null; - } - - public static Object callObjectMethod(Object obj, String methodName, Object methodParam) { - try { - Constructor ctor = ((Class) obj).getConstructor(); - Object instance = ctor.newInstance(); - Method m = ((Class) obj).getMethod(methodName, methodParam.getClass()); // 获取方法 - return m.invoke(instance); - } catch (Exception e) { - LOG.error(e.getMessage(), e); - } - return null; } public void getTest() { diff --git a/src/main/java/com/alibaba/druid/util/StringUtils.java b/src/main/java/com/alibaba/druid/util/StringUtils.java index b1db53e68f..01ce45e10c 100644 --- a/src/main/java/com/alibaba/druid/util/StringUtils.java +++ b/src/main/java/com/alibaba/druid/util/StringUtils.java @@ -3,6 +3,8 @@ package com.alibaba.druid.util; import java.util.LinkedHashMap; import java.util.Map; +import com.alibaba.druid.support.logging.Log; +import com.alibaba.druid.support.logging.LogFactory; import com.alibaba.fastjson.JSON; /** @@ -10,6 +12,8 @@ import com.alibaba.fastjson.JSON; */ public class StringUtils { + private final static Log LOG = LogFactory.getLog(StringUtils.class); + /** * Example: subString("12345","1","4")=23 * @@ -52,6 +56,7 @@ public class StringUtils { try { return Integer.parseInt(in); } catch (NumberFormatException e) { + LOG.warn("stringToInteger fail,string=" + in, e); return null; } } @@ -67,6 +72,7 @@ public class StringUtils { try { return Long.parseLong(in); } catch (NumberFormatException e) { + LOG.warn("stringToLong fail,string=" + in, e); return null; } }