From 190aee17d85a710c4fe1329b2859db6facbb64f9 Mon Sep 17 00:00:00 2001 From: Costin Leau Date: Thu, 12 Nov 2009 01:28:32 +0000 Subject: [PATCH] + internal improvement of WebLogic LTW + minor improvements to the LTW files (mainly trailing blank lines) --- .../weaving/DefaultContextLoadTimeWeaver.java | 16 ++++++------ .../ReflectiveLoadTimeWeaver.java | 3 +-- .../classloading/oc4j/OC4JLoadTimeWeaver.java | 3 +-- ...r.java => WebLogicClassLoaderAdapter.java} | 25 +++++++++---------- .../WebLogicClassPreProcessorAdapter.java | 3 +-- .../weblogic/WebLogicLoadTimeWeaver.java | 9 +++---- 6 files changed, 27 insertions(+), 32 deletions(-) rename org.springframework.context/src/main/java/org/springframework/instrument/classloading/weblogic/{WebLogicClassLoader.java => WebLogicClassLoaderAdapter.java} (85%) diff --git a/org.springframework.context/src/main/java/org/springframework/context/weaving/DefaultContextLoadTimeWeaver.java b/org.springframework.context/src/main/java/org/springframework/context/weaving/DefaultContextLoadTimeWeaver.java index 78047eebafe..8b0529f20c5 100644 --- a/org.springframework.context/src/main/java/org/springframework/context/weaving/DefaultContextLoadTimeWeaver.java +++ b/org.springframework.context/src/main/java/org/springframework/context/weaving/DefaultContextLoadTimeWeaver.java @@ -27,7 +27,7 @@ import org.springframework.instrument.InstrumentationSavingAgent; import org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver; import org.springframework.instrument.classloading.LoadTimeWeaver; import org.springframework.instrument.classloading.ReflectiveLoadTimeWeaver; -import org.springframework.instrument.classloading.jboss.JBoss5LoadTimeWeaver; +import org.springframework.instrument.classloading.jboss.JBossLoadTimeWeaver; import org.springframework.instrument.classloading.glassfish.GlassFishLoadTimeWeaver; import org.springframework.instrument.classloading.oc4j.OC4JLoadTimeWeaver; import org.springframework.instrument.classloading.weblogic.WebLogicLoadTimeWeaver; @@ -96,18 +96,19 @@ public class DefaultContextLoadTimeWeaver implements LoadTimeWeaver, BeanClassLo * versions even though the ClassLoader name is the same. */ protected LoadTimeWeaver createServerSpecificLoadTimeWeaver(ClassLoader classLoader) { + String name = classLoader.getClass().getName(); try { - if (classLoader.getClass().getName().startsWith("weblogic")) { + if (name.startsWith("weblogic")) { return new WebLogicLoadTimeWeaver(classLoader); } - else if (classLoader.getClass().getName().startsWith("oracle")) { + else if (name.startsWith("oracle")) { return new OC4JLoadTimeWeaver(classLoader); } - else if (classLoader.getClass().getName().startsWith("com.sun.enterprise")) { + else if (name.startsWith("com.sun.enterprise")) { return new GlassFishLoadTimeWeaver(classLoader); } - else if (classLoader.getClass().getName().startsWith("org.jboss")) { - return new JBoss5LoadTimeWeaver(classLoader); + else if (name.startsWith("org.jboss")) { + return new JBossLoadTimeWeaver(classLoader); } } catch (IllegalStateException ex) { @@ -136,5 +137,4 @@ public class DefaultContextLoadTimeWeaver implements LoadTimeWeaver, BeanClassLo public ClassLoader getThrowawayClassLoader() { return this.loadTimeWeaver.getThrowawayClassLoader(); } - -} +} \ No newline at end of file diff --git a/org.springframework.context/src/main/java/org/springframework/instrument/classloading/ReflectiveLoadTimeWeaver.java b/org.springframework.context/src/main/java/org/springframework/instrument/classloading/ReflectiveLoadTimeWeaver.java index b39bef907e9..d9630c0622e 100644 --- a/org.springframework.context/src/main/java/org/springframework/instrument/classloading/ReflectiveLoadTimeWeaver.java +++ b/org.springframework.context/src/main/java/org/springframework/instrument/classloading/ReflectiveLoadTimeWeaver.java @@ -135,5 +135,4 @@ public class ReflectiveLoadTimeWeaver implements LoadTimeWeaver { return new SimpleThrowawayClassLoader(this.classLoader); } } - -} +} \ No newline at end of file diff --git a/org.springframework.context/src/main/java/org/springframework/instrument/classloading/oc4j/OC4JLoadTimeWeaver.java b/org.springframework.context/src/main/java/org/springframework/instrument/classloading/oc4j/OC4JLoadTimeWeaver.java index e77f7dd83ce..656debd7673 100644 --- a/org.springframework.context/src/main/java/org/springframework/instrument/classloading/oc4j/OC4JLoadTimeWeaver.java +++ b/org.springframework.context/src/main/java/org/springframework/instrument/classloading/oc4j/OC4JLoadTimeWeaver.java @@ -76,5 +76,4 @@ public class OC4JLoadTimeWeaver implements LoadTimeWeaver { public ClassLoader getThrowawayClassLoader() { return ClassLoaderUtilities.copy(this.classLoader); } - -} +} \ No newline at end of file diff --git a/org.springframework.context/src/main/java/org/springframework/instrument/classloading/weblogic/WebLogicClassLoader.java b/org.springframework.context/src/main/java/org/springframework/instrument/classloading/weblogic/WebLogicClassLoaderAdapter.java similarity index 85% rename from org.springframework.context/src/main/java/org/springframework/instrument/classloading/weblogic/WebLogicClassLoader.java rename to org.springframework.context/src/main/java/org/springframework/instrument/classloading/weblogic/WebLogicClassLoaderAdapter.java index 9a6c3c39e41..fc198635a42 100644 --- a/org.springframework.context/src/main/java/org/springframework/instrument/classloading/weblogic/WebLogicClassLoader.java +++ b/org.springframework.context/src/main/java/org/springframework/instrument/classloading/weblogic/WebLogicClassLoaderAdapter.java @@ -34,14 +34,14 @@ import org.springframework.util.Assert; * @author Juergen Hoeller * @since 2.5 */ -class WebLogicClassLoader { +class WebLogicClassLoaderAdapter { private static final String GENERIC_CLASS_LOADER_NAME = "weblogic.utils.classloaders.GenericClassLoader"; private static final String CLASS_PRE_PROCESSOR_NAME = "weblogic.utils.classloaders.ClassPreProcessor"; - private final ClassLoader internalClassLoader; + private final ClassLoader classLoader; private final Class wlPreProcessorClass; @@ -54,7 +54,7 @@ class WebLogicClassLoader { private final Constructor wlGenericClassLoaderConstructor; - public WebLogicClassLoader(ClassLoader classLoader) { + public WebLogicClassLoaderAdapter(ClassLoader classLoader) { Class wlGenericClassLoaderClass = null; try { wlGenericClassLoaderClass = classLoader.loadClass(GENERIC_CLASS_LOADER_NAME); @@ -68,21 +68,21 @@ class WebLogicClassLoader { } catch (Exception ex) { throw new IllegalStateException( - "Could not initialize WebLogic ClassLoader because WebLogic 10 API classes are not available", ex); + "Could not initialize WebLogic LoadTimeWeaver because WebLogic 10 API classes are not available", ex); } Assert.isInstanceOf(wlGenericClassLoaderClass, classLoader, "ClassLoader must be instance of [" + wlGenericClassLoaderClass.getName() + "]"); - this.internalClassLoader = classLoader; + this.classLoader = classLoader; } public void addTransformer(ClassFileTransformer transformer) { Assert.notNull(transformer, "ClassFileTransformer must not be null"); try { - InvocationHandler adapter = new WebLogicClassPreProcessorAdapter(transformer, this.internalClassLoader); + InvocationHandler adapter = new WebLogicClassPreProcessorAdapter(transformer, this.classLoader); Object adapterInstance = Proxy.newProxyInstance(this.wlPreProcessorClass.getClassLoader(), new Class[] {this.wlPreProcessorClass}, adapter); - this.addPreProcessorMethod.invoke(this.internalClassLoader, adapterInstance); + this.addPreProcessorMethod.invoke(this.classLoader, adapterInstance); } catch (InvocationTargetException ex) { throw new IllegalStateException("WebLogic addInstanceClassPreProcessor method threw exception", ex.getCause()); @@ -92,14 +92,14 @@ class WebLogicClassLoader { } } - public ClassLoader getInternalClassLoader() { - return this.internalClassLoader; + public ClassLoader getClassLoader() { + return this.classLoader; } public ClassLoader getThrowawayClassLoader() { try { - Object classFinder = this.getClassFinderMethod.invoke(this.internalClassLoader); - Object parent = this.getParentMethod.invoke(this.internalClassLoader); + Object classFinder = this.getClassFinderMethod.invoke(this.classLoader); + Object parent = this.getParentMethod.invoke(this.classLoader); // arguments for 'clone'-like method return (ClassLoader) this.wlGenericClassLoaderConstructor.newInstance(classFinder, parent); } @@ -110,5 +110,4 @@ class WebLogicClassLoader { throw new IllegalStateException("Could not construct WebLogic GenericClassLoader", ex); } } - -} +} \ No newline at end of file diff --git a/org.springframework.context/src/main/java/org/springframework/instrument/classloading/weblogic/WebLogicClassPreProcessorAdapter.java b/org.springframework.context/src/main/java/org/springframework/instrument/classloading/weblogic/WebLogicClassPreProcessorAdapter.java index b6ce745382d..937121e74f0 100644 --- a/org.springframework.context/src/main/java/org/springframework/instrument/classloading/weblogic/WebLogicClassPreProcessorAdapter.java +++ b/org.springframework.context/src/main/java/org/springframework/instrument/classloading/weblogic/WebLogicClassPreProcessorAdapter.java @@ -92,5 +92,4 @@ class WebLogicClassPreProcessorAdapter implements InvocationHandler { builder.append(this.transformer); return builder.toString(); } - -} +} \ No newline at end of file diff --git a/org.springframework.context/src/main/java/org/springframework/instrument/classloading/weblogic/WebLogicLoadTimeWeaver.java b/org.springframework.context/src/main/java/org/springframework/instrument/classloading/weblogic/WebLogicLoadTimeWeaver.java index fffb32f1195..ef1baa9912f 100644 --- a/org.springframework.context/src/main/java/org/springframework/instrument/classloading/weblogic/WebLogicLoadTimeWeaver.java +++ b/org.springframework.context/src/main/java/org/springframework/instrument/classloading/weblogic/WebLogicLoadTimeWeaver.java @@ -34,7 +34,7 @@ import org.springframework.util.ClassUtils; */ public class WebLogicLoadTimeWeaver implements LoadTimeWeaver { - private final WebLogicClassLoader classLoader; + private final WebLogicClassLoaderAdapter classLoader; /** @@ -54,7 +54,7 @@ public class WebLogicLoadTimeWeaver implements LoadTimeWeaver { */ public WebLogicLoadTimeWeaver(ClassLoader classLoader) { Assert.notNull(classLoader, "ClassLoader must not be null"); - this.classLoader = new WebLogicClassLoader(classLoader); + this.classLoader = new WebLogicClassLoaderAdapter(classLoader); } @@ -63,11 +63,10 @@ public class WebLogicLoadTimeWeaver implements LoadTimeWeaver { } public ClassLoader getInstrumentableClassLoader() { - return this.classLoader.getInternalClassLoader(); + return this.classLoader.getClassLoader(); } public ClassLoader getThrowawayClassLoader() { return this.classLoader.getThrowawayClassLoader(); } - -} +} \ No newline at end of file