public class org.springframework.context.weaving.DefaultContextLoadTimeWeaver extends java.lang.Object implements org.springframework.instrument.classloading.LoadTimeWeaver, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.DisposableBean
{
protected final org.apache.commons.logging.Log logger;
private org.springframework.instrument.classloading.LoadTimeWeaver loadTimeWeaver;
public void <init>()
{
java.lang.Class v;
org.apache.commons.logging.Log v;
org.springframework.context.weaving.DefaultContextLoadTimeWeaver v;
v := @this: org.springframework.context.weaving.DefaultContextLoadTimeWeaver;
specialinvoke v.<java.lang.Object: void <init>()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.commons.logging.LogFactory: org.apache.commons.logging.Log getLog(java.lang.Class)>(v);
v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.apache.commons.logging.Log logger> = v;
return;
}
public void <init>(java.lang.ClassLoader)
{
org.springframework.context.weaving.DefaultContextLoadTimeWeaver v;
java.lang.Class v;
org.apache.commons.logging.Log v;
java.lang.ClassLoader v;
v := @this: org.springframework.context.weaving.DefaultContextLoadTimeWeaver;
v := @parameter: java.lang.ClassLoader;
specialinvoke v.<java.lang.Object: void <init>()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <org.apache.commons.logging.LogFactory: org.apache.commons.logging.Log getLog(java.lang.Class)>(v);
v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.apache.commons.logging.Log logger> = v;
virtualinvoke v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: void setBeanClassLoader(java.lang.ClassLoader)>(v);
return;
}
public void setBeanClassLoader(java.lang.ClassLoader)
{
java.lang.IllegalStateException v, v;
org.springframework.context.weaving.DefaultContextLoadTimeWeaver v;
org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver v;
java.lang.String v, v, v, v, v, v;
org.springframework.instrument.classloading.LoadTimeWeaver v, v;
boolean v, v, v;
org.springframework.instrument.classloading.ReflectiveLoadTimeWeaver v;
java.lang.Class v, v;
org.apache.commons.logging.Log v, v, v, v, v;
java.lang.ClassLoader v, v;
v := @this: org.springframework.context.weaving.DefaultContextLoadTimeWeaver;
v := @parameter: java.lang.ClassLoader;
v = virtualinvoke v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.springframework.instrument.classloading.LoadTimeWeaver createServerSpecificLoadTimeWeaver(java.lang.ClassLoader)>(v);
if v == null goto label;
v = v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isInfoEnabled()>();
if v == 0 goto label;
v = v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.apache.commons.logging.Log logger>;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Determined server-specific load-time weaver: \u0001");
interfaceinvoke v.<org.apache.commons.logging.Log: void info(java.lang.Object)>(v);
label:
v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.springframework.instrument.classloading.LoadTimeWeaver loadTimeWeaver> = v;
goto label;
label:
v = staticinvoke <org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver: boolean isInstrumentationAvailable()>();
if v == 0 goto label;
v = v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.apache.commons.logging.Log logger>;
interfaceinvoke v.<org.apache.commons.logging.Log: void info(java.lang.Object)>("Found Spring\'s JVM agent for instrumentation");
v = new org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver;
specialinvoke v.<org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver: void <init>(java.lang.ClassLoader)>(v);
v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.springframework.instrument.classloading.LoadTimeWeaver loadTimeWeaver> = v;
goto label;
label:
v = new org.springframework.instrument.classloading.ReflectiveLoadTimeWeaver;
specialinvoke v.<org.springframework.instrument.classloading.ReflectiveLoadTimeWeaver: void <init>(java.lang.ClassLoader)>(v);
v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.springframework.instrument.classloading.LoadTimeWeaver loadTimeWeaver> = v;
v = v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isInfoEnabled()>();
if v == 0 goto label;
v = v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.apache.commons.logging.Log logger>;
v = v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.springframework.instrument.classloading.LoadTimeWeaver loadTimeWeaver>;
v = interfaceinvoke v.<org.springframework.instrument.classloading.LoadTimeWeaver: java.lang.ClassLoader getInstrumentableClassLoader()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Using a reflective load-time weaver for class loader: \u0001");
interfaceinvoke v.<org.apache.commons.logging.Log: void info(java.lang.Object)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<java.lang.IllegalStateException: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u Specify a custom LoadTimeWeaver or start your Java virtual machine with Spring\'s agent: -javaagent:org.springframework.instrument.jar");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
catch java.lang.IllegalStateException from label to label with label;
}
protected org.springframework.instrument.classloading.LoadTimeWeaver createServerSpecificLoadTimeWeaver(java.lang.ClassLoader)
{
org.springframework.context.weaving.DefaultContextLoadTimeWeaver v;
org.springframework.instrument.classloading.glassfish.GlassFishLoadTimeWeaver v;
org.springframework.instrument.classloading.jboss.JBossLoadTimeWeaver v;
java.lang.String v, v, v;
boolean v, v, v, v, v, v;
org.springframework.instrument.classloading.tomcat.TomcatLoadTimeWeaver v;
java.lang.Exception v;
org.springframework.instrument.classloading.websphere.WebSphereLoadTimeWeaver v;
java.lang.Class v;
org.apache.commons.logging.Log v, v;
java.lang.ClassLoader v;
org.springframework.instrument.classloading.weblogic.WebLogicLoadTimeWeaver v;
v := @this: org.springframework.context.weaving.DefaultContextLoadTimeWeaver;
v := @parameter: java.lang.ClassLoader;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("org.apache.catalina");
if v == 0 goto label;
v = new org.springframework.instrument.classloading.tomcat.TomcatLoadTimeWeaver;
specialinvoke v.<org.springframework.instrument.classloading.tomcat.TomcatLoadTimeWeaver: void <init>(java.lang.ClassLoader)>(v);
label:
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("org.glassfish");
if v == 0 goto label;
v = new org.springframework.instrument.classloading.glassfish.GlassFishLoadTimeWeaver;
specialinvoke v.<org.springframework.instrument.classloading.glassfish.GlassFishLoadTimeWeaver: void <init>(java.lang.ClassLoader)>(v);
label:
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("org.jboss");
if v == 0 goto label;
v = new org.springframework.instrument.classloading.jboss.JBossLoadTimeWeaver;
specialinvoke v.<org.springframework.instrument.classloading.jboss.JBossLoadTimeWeaver: void <init>(java.lang.ClassLoader)>(v);
label:
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("com.ibm");
if v == 0 goto label;
v = new org.springframework.instrument.classloading.websphere.WebSphereLoadTimeWeaver;
specialinvoke v.<org.springframework.instrument.classloading.websphere.WebSphereLoadTimeWeaver: void <init>(java.lang.ClassLoader)>(v);
label:
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("weblogic");
if v == 0 goto label;
v = new org.springframework.instrument.classloading.weblogic.WebLogicLoadTimeWeaver;
specialinvoke v.<org.springframework.instrument.classloading.weblogic.WebLogicLoadTimeWeaver: void <init>(java.lang.ClassLoader)>(v);
label:
return v;
label:
v := @caughtexception;
v = v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isInfoEnabled()>();
if v == 0 goto label;
v = v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.apache.commons.logging.Log logger>;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Could not obtain server-specific LoadTimeWeaver: \u0001");
interfaceinvoke v.<org.apache.commons.logging.Log: void info(java.lang.Object)>(v);
label:
return null;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
public void destroy()
{
org.springframework.context.weaving.DefaultContextLoadTimeWeaver v;
java.lang.Class v;
org.apache.commons.logging.Log v, v;
java.lang.ClassLoader v;
java.lang.String v, v;
org.springframework.instrument.classloading.LoadTimeWeaver v, v, v;
boolean v, v;
v := @this: org.springframework.context.weaving.DefaultContextLoadTimeWeaver;
v = v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.springframework.instrument.classloading.LoadTimeWeaver loadTimeWeaver>;
v = v instanceof org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver;
if v == 0 goto label;
v = v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.apache.commons.logging.Log logger>;
v = interfaceinvoke v.<org.apache.commons.logging.Log: boolean isInfoEnabled()>();
if v == 0 goto label;
v = v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.apache.commons.logging.Log logger>;
v = v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.springframework.instrument.classloading.LoadTimeWeaver loadTimeWeaver>;
v = interfaceinvoke v.<org.springframework.instrument.classloading.LoadTimeWeaver: java.lang.ClassLoader getInstrumentableClassLoader()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Removing all registered transformers for class loader: \u0001");
interfaceinvoke v.<org.apache.commons.logging.Log: void info(java.lang.Object)>(v);
label:
v = v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.springframework.instrument.classloading.LoadTimeWeaver loadTimeWeaver>;
virtualinvoke v.<org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver: void removeTransformers()>();
label:
return;
}
public void addTransformer(java.lang.instrument.ClassFileTransformer)
{
java.lang.instrument.ClassFileTransformer v;
org.springframework.context.weaving.DefaultContextLoadTimeWeaver v;
org.springframework.instrument.classloading.LoadTimeWeaver v;
v := @this: org.springframework.context.weaving.DefaultContextLoadTimeWeaver;
v := @parameter: java.lang.instrument.ClassFileTransformer;
v = v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.springframework.instrument.classloading.LoadTimeWeaver loadTimeWeaver>;
interfaceinvoke v.<org.springframework.instrument.classloading.LoadTimeWeaver: void addTransformer(java.lang.instrument.ClassFileTransformer)>(v);
return;
}
public java.lang.ClassLoader getInstrumentableClassLoader()
{
java.lang.ClassLoader v;
org.springframework.context.weaving.DefaultContextLoadTimeWeaver v;
org.springframework.instrument.classloading.LoadTimeWeaver v;
v := @this: org.springframework.context.weaving.DefaultContextLoadTimeWeaver;
v = v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.springframework.instrument.classloading.LoadTimeWeaver loadTimeWeaver>;
v = interfaceinvoke v.<org.springframework.instrument.classloading.LoadTimeWeaver: java.lang.ClassLoader getInstrumentableClassLoader()>();
return v;
}
public java.lang.ClassLoader getThrowawayClassLoader()
{
java.lang.ClassLoader v;
org.springframework.context.weaving.DefaultContextLoadTimeWeaver v;
org.springframework.instrument.classloading.LoadTimeWeaver v;
v := @this: org.springframework.context.weaving.DefaultContextLoadTimeWeaver;
v = v.<org.springframework.context.weaving.DefaultContextLoadTimeWeaver: org.springframework.instrument.classloading.LoadTimeWeaver loadTimeWeaver>;
v = interfaceinvoke v.<org.springframework.instrument.classloading.LoadTimeWeaver: java.lang.ClassLoader getThrowawayClassLoader()>();
return v;
}
}