From b9c7cdf4a75bc5665508e0f23836042497b9c4f9 Mon Sep 17 00:00:00 2001 From: Andy Clement Date: Mon, 24 Feb 2014 16:33:45 -0800 Subject: [PATCH] Fixes #40 - Error message with Spring 4 --- .../springsource/loaded/agent/SpringPlugin.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/springloaded/src/main/java/org/springsource/loaded/agent/SpringPlugin.java b/springloaded/src/main/java/org/springsource/loaded/agent/SpringPlugin.java index a006b9f..dcdcb20 100644 --- a/springloaded/src/main/java/org/springsource/loaded/agent/SpringPlugin.java +++ b/springloaded/src/main/java/org/springsource/loaded/agent/SpringPlugin.java @@ -104,6 +104,15 @@ public class SpringPlugin implements LoadtimeInstrumentationPlugin, ReloadEventP } private static boolean debug = false; + + static { + try { + String debugString = System.getProperty("springloaded.plugins.spring.debug","false"); + debug = Boolean.valueOf(debugString); + } catch (Exception e) { + // likely security exception + } + } // called by the modified code public static void recordDefaultAnnotationHandlerMappingInstance(Object obj) { @@ -212,12 +221,12 @@ public class SpringPlugin implements LoadtimeInstrumentationPlugin, ReloadEventP method_initHandlerMethods.setAccessible(true); method_initHandlerMethods.invoke(o); } catch (NoSuchFieldException nsfe) { - if (log.isLoggable(Level.WARNING)) { + if (debug) { if (nsfe.getMessage().equals("handlerMethods")) { - log.warning("problem resetting request mapping handlers - unable to find field 'handlerMethods' on type 'AbstractHandlerMethodMapping' - you probably are not on Spring 3.1"); + System.out.println("problem resetting request mapping handlers - unable to find field 'handlerMethods' on type 'AbstractHandlerMethodMapping' - you probably are not on Spring 3.1"); } else { - log.warning("problem resetting request mapping handlers - NoSuchFieldException: "+nsfe.getMessage()); + System.out.println("problem resetting request mapping handlers - NoSuchFieldException: "+nsfe.getMessage()); } } } catch (Exception e) {