public class org.springframework.aop.framework.ProxyFactoryBean extends org.springframework.aop.framework.ProxyCreatorSupport implements org.springframework.beans.factory.FactoryBean<java.lang.Object>, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.aop.framework.ProxyFactoryBean
super_class: org.springframework.aop.framework.ProxyCreatorSupport
{
public static final java.lang.String GLOBAL_SUFFIX;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "*"
protected final org.apache.commons.logging.Log logger;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private java.lang.String[] interceptorNames;
descriptor: [Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.lang.String targetName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private boolean autodetectInterfaces;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean singleton;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.springframework.aop.framework.adapter.AdvisorAdapterRegistry advisorAdapterRegistry;
descriptor: Lorg/springframework/aop/framework/adapter/AdvisorAdapterRegistry;
flags: (0x0002) ACC_PRIVATE
private boolean freezeProxy;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private transient java.lang.ClassLoader proxyClassLoader;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private transient boolean classLoaderConfigured;
descriptor: Z
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient org.springframework.beans.factory.BeanFactory beanFactory;
descriptor: Lorg/springframework/beans/factory/BeanFactory;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private boolean advisorChainInitialized;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.Object singletonInstance;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.springframework.aop.framework.ProxyCreatorSupport.<init>:()V
1: aload 0
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
2: aload 0
iconst_1
putfield org.springframework.aop.framework.ProxyFactoryBean.autodetectInterfaces:Z
3: aload 0
iconst_1
putfield org.springframework.aop.framework.ProxyFactoryBean.singleton:Z
4: aload 0
invokestatic org.springframework.aop.framework.adapter.GlobalAdvisorAdapterRegistry.getInstance:()Lorg/springframework/aop/framework/adapter/AdvisorAdapterRegistry;
putfield org.springframework.aop.framework.ProxyFactoryBean.advisorAdapterRegistry:Lorg/springframework/aop/framework/adapter/AdvisorAdapterRegistry;
5: aload 0
iconst_0
putfield org.springframework.aop.framework.ProxyFactoryBean.freezeProxy:Z
6: aload 0
invokestatic org.springframework.util.ClassUtils.getDefaultClassLoader:()Ljava/lang/ClassLoader;
putfield org.springframework.aop.framework.ProxyFactoryBean.proxyClassLoader:Ljava/lang/ClassLoader;
7: aload 0
iconst_0
putfield org.springframework.aop.framework.ProxyFactoryBean.classLoaderConfigured:Z
8: aload 0
iconst_0
putfield org.springframework.aop.framework.ProxyFactoryBean.advisorChainInitialized:Z
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
public void setProxyInterfaces(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.setInterfaces:([Ljava/lang/Class;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
0 2 1 proxyInterfaces [Ljava/lang/Class;
Exceptions:
throws java.lang.ClassNotFoundException
Signature: ([Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
proxyInterfaces
public void setInterceptorNames(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.aop.framework.ProxyFactoryBean.interceptorNames:[Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
0 2 1 interceptorNames [Ljava/lang/String;
MethodParameters:
Name Flags
interceptorNames
public void setTargetName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.aop.framework.ProxyFactoryBean.targetName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
0 2 1 targetName Ljava/lang/String;
MethodParameters:
Name Flags
targetName
public void setAutodetectInterfaces(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.springframework.aop.framework.ProxyFactoryBean.autodetectInterfaces:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
0 2 1 autodetectInterfaces Z
MethodParameters:
Name Flags
autodetectInterfaces
public void setSingleton(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.springframework.aop.framework.ProxyFactoryBean.singleton:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
0 2 1 singleton Z
MethodParameters:
Name Flags
singleton
public void setAdvisorAdapterRegistry(org.springframework.aop.framework.adapter.AdvisorAdapterRegistry);
descriptor: (Lorg/springframework/aop/framework/adapter/AdvisorAdapterRegistry;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.aop.framework.ProxyFactoryBean.advisorAdapterRegistry:Lorg/springframework/aop/framework/adapter/AdvisorAdapterRegistry;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
0 2 1 advisorAdapterRegistry Lorg/springframework/aop/framework/adapter/AdvisorAdapterRegistry;
MethodParameters:
Name Flags
advisorAdapterRegistry
public void setFrozen(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.springframework.aop.framework.ProxyFactoryBean.freezeProxy:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
0 2 1 frozen Z
MethodParameters:
Name Flags
frozen
public void setProxyClassLoader(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.aop.framework.ProxyFactoryBean.proxyClassLoader:Ljava/lang/ClassLoader;
1: aload 0
aload 1
ifnull 2
iconst_1
goto 3
StackMap locals:
StackMap stack: org.springframework.aop.framework.ProxyFactoryBean
2: iconst_0
StackMap locals: org.springframework.aop.framework.ProxyFactoryBean java.lang.ClassLoader
StackMap stack: org.springframework.aop.framework.ProxyFactoryBean int
3: putfield org.springframework.aop.framework.ProxyFactoryBean.classLoaderConfigured:Z
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
0 5 1 classLoader Ljava/lang/ClassLoader;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
classLoader
public void setBeanClassLoader(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.classLoaderConfigured:Z
ifne 2
1: aload 0
aload 1
putfield org.springframework.aop.framework.ProxyFactoryBean.proxyClassLoader:Ljava/lang/ClassLoader;
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
0 3 1 classLoader Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
classLoader
public void setBeanFactory(org.springframework.beans.factory.BeanFactory);
descriptor: (Lorg/springframework/beans/factory/BeanFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.aop.framework.ProxyFactoryBean.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
1: aload 0
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.checkInterceptorNames:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
0 3 1 beanFactory Lorg/springframework/beans/factory/BeanFactory;
MethodParameters:
Name Flags
beanFactory
public java.lang.Object getObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.initializeAdvisorChain:()V
1: aload 0
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.isSingleton:()Z
ifeq 3
2: aload 0
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.getSingletonInstance:()Ljava/lang/Object;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.targetName:Ljava/lang/String;
ifnonnull 5
4: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
ldc "Using non-singleton proxies with singleton targets is often undesirable. Enable prototype proxies by setting the 'targetName' property."
invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.newPrototypeInstance:()Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
Exceptions:
throws org.springframework.beans.BeansException
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public java.lang.Class<?> getObjectType();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.singletonInstance:Ljava/lang/Object;
ifnull 4
2: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.singletonInstance:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
monitorexit
3: areturn
4: StackMap locals: org.springframework.aop.framework.ProxyFactoryBean
StackMap stack:
aload 1
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.getProxiedInterfaces:()[Ljava/lang/Class;
astore 1
start local 1 9: aload 1
arraylength
iconst_1
if_icmpne 11
10: aload 1
iconst_0
aaload
areturn
11: StackMap locals: java.lang.Class[]
StackMap stack:
aload 1
arraylength
iconst_1
if_icmple 13
12: aload 0
aload 1
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.createCompositeInterface:([Ljava/lang/Class;)Ljava/lang/Class;
areturn
13: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.targetName:Ljava/lang/String;
ifnull 15
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
ifnull 15
14: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.targetName:Ljava/lang/String;
invokeinterface org.springframework.beans.factory.BeanFactory.getType:(Ljava/lang/String;)Ljava/lang/Class;
areturn
15: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.getTargetClass:()Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
9 16 1 ifcs [Ljava/lang/Class;
Exception table:
from to target type
1 3 6 any
4 5 6 any
6 7 6 any
Signature: ()Ljava/lang/Class<*>;
public boolean isSingleton();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.singleton:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
protected java.lang.Class<?> createCompositeInterface(java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;)Ljava/lang/Class;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.proxyClassLoader:Ljava/lang/ClassLoader;
invokestatic org.springframework.util.ClassUtils.createCompositeInterface:([Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
0 1 1 interfaces [Ljava/lang/Class;
Signature: ([Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
interfaces
private synchronized java.lang.Object getSingletonInstance();
descriptor: ()Ljava/lang/Object;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.singletonInstance:Ljava/lang/Object;
ifnonnull 9
1: aload 0
aload 0
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.freshTargetSource:()Lorg/springframework/aop/TargetSource;
putfield org.springframework.aop.framework.ProxyFactoryBean.targetSource:Lorg/springframework/aop/TargetSource;
2: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.autodetectInterfaces:Z
ifeq 7
aload 0
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.getProxiedInterfaces:()[Ljava/lang/Class;
arraylength
ifne 7
aload 0
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.isProxyTargetClass:()Z
ifne 7
3: aload 0
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.getTargetClass:()Ljava/lang/Class;
astore 1
start local 1 4: aload 1
ifnonnull 6
5: new org.springframework.beans.factory.FactoryBeanNotInitializedException
dup
ldc "Cannot determine target class for proxy"
invokespecial org.springframework.beans.factory.FactoryBeanNotInitializedException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: java.lang.Class
StackMap stack:
aload 0
aload 1
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.proxyClassLoader:Ljava/lang/ClassLoader;
invokestatic org.springframework.util.ClassUtils.getAllInterfacesForClass:(Ljava/lang/Class;Ljava/lang/ClassLoader;)[Ljava/lang/Class;
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.setInterfaces:([Ljava/lang/Class;)V
end local 1 7: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.freezeProxy:Z
invokespecial org.springframework.aop.framework.ProxyCreatorSupport.setFrozen:(Z)V
8: aload 0
aload 0
aload 0
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.createAopProxy:()Lorg/springframework/aop/framework/AopProxy;
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.getProxy:(Lorg/springframework/aop/framework/AopProxy;)Ljava/lang/Object;
putfield org.springframework.aop.framework.ProxyFactoryBean.singletonInstance:Ljava/lang/Object;
9: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.singletonInstance:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
4 7 1 targetClass Ljava/lang/Class<*>;
private synchronized java.lang.Object newPrototypeInstance();
descriptor: ()Ljava/lang/Object;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 2
1: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Creating copy of prototype ProxyFactoryBean config: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
new org.springframework.aop.framework.ProxyCreatorSupport
dup
aload 0
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.getAopProxyFactory:()Lorg/springframework/aop/framework/AopProxyFactory;
invokespecial org.springframework.aop.framework.ProxyCreatorSupport.<init>:(Lorg/springframework/aop/framework/AopProxyFactory;)V
astore 1
start local 1 3: aload 0
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.freshTargetSource:()Lorg/springframework/aop/TargetSource;
astore 2
start local 2 4: aload 1
aload 0
aload 2
aload 0
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.freshAdvisorChain:()Ljava/util/List;
invokevirtual org.springframework.aop.framework.ProxyCreatorSupport.copyConfigurationFrom:(Lorg/springframework/aop/framework/AdvisedSupport;Lorg/springframework/aop/TargetSource;Ljava/util/List;)V
5: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.autodetectInterfaces:Z
ifeq 9
aload 0
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.getProxiedInterfaces:()[Ljava/lang/Class;
arraylength
ifne 9
aload 0
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.isProxyTargetClass:()Z
ifne 9
6: aload 2
invokeinterface org.springframework.aop.TargetSource.getTargetClass:()Ljava/lang/Class;
astore 3
start local 3 7: aload 3
ifnull 9
8: aload 1
aload 3
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.proxyClassLoader:Ljava/lang/ClassLoader;
invokestatic org.springframework.util.ClassUtils.getAllInterfacesForClass:(Ljava/lang/Class;Ljava/lang/ClassLoader;)[Ljava/lang/Class;
invokevirtual org.springframework.aop.framework.ProxyCreatorSupport.setInterfaces:([Ljava/lang/Class;)V
end local 3 9: StackMap locals: org.springframework.aop.framework.ProxyCreatorSupport org.springframework.aop.TargetSource
StackMap stack:
aload 1
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.freezeProxy:Z
invokevirtual org.springframework.aop.framework.ProxyCreatorSupport.setFrozen:(Z)V
10: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 12
11: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Using ProxyCreatorSupport copy: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
12: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.springframework.aop.framework.ProxyCreatorSupport.createAopProxy:()Lorg/springframework/aop/framework/AopProxy;
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.getProxy:(Lorg/springframework/aop/framework/AopProxy;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
3 13 1 copy Lorg/springframework/aop/framework/ProxyCreatorSupport;
4 13 2 targetSource Lorg/springframework/aop/TargetSource;
7 9 3 targetClass Ljava/lang/Class<*>;
protected java.lang.Object getProxy(org.springframework.aop.framework.AopProxy);
descriptor: (Lorg/springframework/aop/framework/AopProxy;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.proxyClassLoader:Ljava/lang/ClassLoader;
invokeinterface org.springframework.aop.framework.AopProxy.getProxy:(Ljava/lang/ClassLoader;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
0 1 1 aopProxy Lorg/springframework/aop/framework/AopProxy;
MethodParameters:
Name Flags
aopProxy
private void checkInterceptorNames();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.interceptorNames:[Ljava/lang/String;
invokestatic org.springframework.util.ObjectUtils.isEmpty:([Ljava/lang/Object;)Z
ifne 12
1: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.interceptorNames:[Ljava/lang/String;
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.interceptorNames:[Ljava/lang/String;
arraylength
iconst_1
isub
aaload
astore 1
start local 1 2: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.targetName:Ljava/lang/String;
ifnonnull 12
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.targetSource:Lorg/springframework/aop/TargetSource;
getstatic org.springframework.aop.framework.ProxyFactoryBean.EMPTY_TARGET_SOURCE:Lorg/springframework/aop/TargetSource;
if_acmpne 12
3: aload 1
ldc "*"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 12
aload 0
aload 1
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.isNamedBeanAnAdvisorOrAdvice:(Ljava/lang/String;)Z
ifne 12
4: aload 0
aload 1
putfield org.springframework.aop.framework.ProxyFactoryBean.targetName:Ljava/lang/String;
5: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 9
6: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Bean with name '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' concluding interceptor chain "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc "is not an advisor class: treating it as a target or TargetSource"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
9: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.interceptorNames:[Ljava/lang/String;
arraylength
iconst_1
isub
anewarray java.lang.String
astore 2
start local 2 10: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.interceptorNames:[Ljava/lang/String;
iconst_0
aload 2
iconst_0
aload 2
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: aload 0
aload 2
putfield org.springframework.aop.framework.ProxyFactoryBean.interceptorNames:[Ljava/lang/String;
end local 2 end local 1 12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
2 12 1 finalName Ljava/lang/String;
10 12 2 newNames [Ljava/lang/String;
private boolean isNamedBeanAnAdvisorOrAdvice(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "No BeanFactory set"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
3: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
aload 1
invokeinterface org.springframework.beans.factory.BeanFactory.getType:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
start local 2 4: aload 2
ifnull 7
5: ldc Lorg/springframework/aop/Advisor;
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 6
ldc Lorg/aopalliance/aop/Advice;
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 6
iconst_0
ireturn
StackMap locals: java.lang.Class
StackMap stack:
6: iconst_1
ireturn
7: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 11
8: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Could not determine type of bean with name '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: ldc "' - assuming it is neither an Advisor nor an Advice"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
0 12 1 beanName Ljava/lang/String;
4 12 2 namedBeanClass Ljava/lang/Class<*>;
MethodParameters:
Name Flags
beanName
private synchronized void initializeAdvisorChain();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=6, locals=6, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.advisorChainInitialized:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.interceptorNames:[Ljava/lang/String;
invokestatic org.springframework.util.ObjectUtils.isEmpty:([Ljava/lang/Object;)Z
ifne 30
3: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
ifnonnull 7
4: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "No BeanFactory available anymore (probably due to serialization) - cannot resolve interceptor names "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
5: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.interceptorNames:[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.interceptorNames:[Ljava/lang/String;
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.interceptorNames:[Ljava/lang/String;
arraylength
iconst_1
isub
aaload
ldc "*"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 10
8: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.targetName:Ljava/lang/String;
ifnonnull 10
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.targetSource:Lorg/springframework/aop/TargetSource;
getstatic org.springframework.aop.framework.ProxyFactoryBean.EMPTY_TARGET_SOURCE:Lorg/springframework/aop/TargetSource;
if_acmpne 10
9: new org.springframework.aop.framework.AopConfigException
dup
ldc "Target required after globals"
invokespecial org.springframework.aop.framework.AopConfigException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.interceptorNames:[Ljava/lang/String;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 29
StackMap locals: org.springframework.aop.framework.ProxyFactoryBean top int int java.lang.String[]
StackMap stack:
11: aload 4
iload 2
aaload
astore 1
start local 1 12: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 14
13: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Configuring advisor or advice '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
14: StackMap locals: org.springframework.aop.framework.ProxyFactoryBean java.lang.String int int java.lang.String[]
StackMap stack:
aload 1
ldc "*"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 23
15: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
instanceof org.springframework.beans.factory.ListableBeanFactory
ifne 19
16: new org.springframework.aop.framework.AopConfigException
dup
17: ldc "Can only use global advisors or interceptors with a ListableBeanFactory"
18: invokespecial org.springframework.aop.framework.AopConfigException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
checkcast org.springframework.beans.factory.ListableBeanFactory
20: aload 1
iconst_0
aload 1
invokevirtual java.lang.String.length:()I
ldc "*"
invokevirtual java.lang.String.length:()I
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
21: invokevirtual org.springframework.aop.framework.ProxyFactoryBean.addGlobalAdvisor:(Lorg/springframework/beans/factory/ListableBeanFactory;Ljava/lang/String;)V
22: goto 28
23: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.singleton:Z
ifne 24
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
aload 1
invokeinterface org.springframework.beans.factory.BeanFactory.isSingleton:(Ljava/lang/String;)Z
ifeq 26
24: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
aload 1
invokeinterface org.springframework.beans.factory.BeanFactory.getBean:(Ljava/lang/String;)Ljava/lang/Object;
astore 5
start local 5 25: goto 27
end local 5 26: StackMap locals:
StackMap stack:
new org.springframework.aop.framework.ProxyFactoryBean$PrototypePlaceholderAdvisor
dup
aload 1
invokespecial org.springframework.aop.framework.ProxyFactoryBean$PrototypePlaceholderAdvisor.<init>:(Ljava/lang/String;)V
astore 5
start local 5 27: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 5
aload 1
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.addAdvisorOnChainCreation:(Ljava/lang/Object;Ljava/lang/String;)V
end local 5 end local 1 28: StackMap locals: org.springframework.aop.framework.ProxyFactoryBean top int int java.lang.String[]
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
29: iload 2
iload 3
if_icmplt 11
30: StackMap locals: org.springframework.aop.framework.ProxyFactoryBean
StackMap stack:
aload 0
iconst_1
putfield org.springframework.aop.framework.ProxyFactoryBean.advisorChainInitialized:Z
31: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
12 28 1 name Ljava/lang/String;
25 26 5 advice Ljava/lang/Object;
27 28 5 advice Ljava/lang/Object;
Exceptions:
throws org.springframework.aop.framework.AopConfigException, org.springframework.beans.BeansException
private java.util.List<org.springframework.aop.Advisor> freshAdvisorChain();
descriptor: ()Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.getAdvisors:()[Lorg/springframework/aop/Advisor;
astore 1
start local 1 1: new java.util.ArrayList
dup
aload 1
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 2: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 18
StackMap locals: org.springframework.aop.framework.ProxyFactoryBean org.springframework.aop.Advisor[] java.util.List top int int org.springframework.aop.Advisor[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 3
instanceof org.springframework.aop.framework.ProxyFactoryBean$PrototypePlaceholderAdvisor
ifeq 16
5: aload 3
checkcast org.springframework.aop.framework.ProxyFactoryBean$PrototypePlaceholderAdvisor
astore 7
start local 7 6: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 8
7: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Refreshing bean named '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual org.springframework.aop.framework.ProxyFactoryBean$PrototypePlaceholderAdvisor.getBeanName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
8: StackMap locals: org.springframework.aop.framework.ProxyFactoryBean org.springframework.aop.Advisor[] java.util.List org.springframework.aop.Advisor int int org.springframework.aop.Advisor[] org.springframework.aop.framework.ProxyFactoryBean$PrototypePlaceholderAdvisor
StackMap stack:
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
ifnonnull 12
9: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "No BeanFactory available anymore (probably due to serialization) - cannot resolve prototype advisor '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 7
invokevirtual org.springframework.aop.framework.ProxyFactoryBean$PrototypePlaceholderAdvisor.getBeanName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
aload 7
invokevirtual org.springframework.aop.framework.ProxyFactoryBean$PrototypePlaceholderAdvisor.getBeanName:()Ljava/lang/String;
invokeinterface org.springframework.beans.factory.BeanFactory.getBean:(Ljava/lang/String;)Ljava/lang/Object;
astore 8
start local 8 13: aload 0
aload 8
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.namedBeanToAdvisor:(Ljava/lang/Object;)Lorg/springframework/aop/Advisor;
astore 9
start local 9 14: aload 2
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 8 end local 7 15: goto 17
16: StackMap locals:
StackMap stack:
aload 2
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 17: StackMap locals: org.springframework.aop.framework.ProxyFactoryBean org.springframework.aop.Advisor[] java.util.List top int int org.springframework.aop.Advisor[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
18: iload 4
iload 5
if_icmplt 3
19: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
1 20 1 advisors [Lorg/springframework/aop/Advisor;
2 20 2 freshAdvisors Ljava/util/List<Lorg/springframework/aop/Advisor;>;
4 17 3 advisor Lorg/springframework/aop/Advisor;
6 15 7 pa Lorg/springframework/aop/framework/ProxyFactoryBean$PrototypePlaceholderAdvisor;
13 15 8 bean Ljava/lang/Object;
14 15 9 refreshedAdvisor Lorg/springframework/aop/Advisor;
Signature: ()Ljava/util/List<Lorg/springframework/aop/Advisor;>;
private void addGlobalAdvisor(org.springframework.beans.factory.ListableBeanFactory, java.lang.String);
descriptor: (Lorg/springframework/beans/factory/ListableBeanFactory;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc Lorg/springframework/aop/Advisor;
invokestatic org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors:(Lorg/springframework/beans/factory/ListableBeanFactory;Ljava/lang/Class;)[Ljava/lang/String;
1: astore 3
start local 3 2: aload 1
ldc Lorg/aopalliance/intercept/Interceptor;
invokestatic org.springframework.beans.factory.BeanFactoryUtils.beanNamesForTypeIncludingAncestors:(Lorg/springframework/beans/factory/ListableBeanFactory;Ljava/lang/Class;)[Ljava/lang/String;
3: astore 4
start local 4 4: new java.util.ArrayList
dup
aload 3
arraylength
aload 4
arraylength
iadd
invokespecial java.util.ArrayList.<init>:(I)V
astore 5
start local 5 5: new java.util.HashMap
dup
aload 5
invokeinterface java.util.List.size:()I
invokespecial java.util.HashMap.<init>:(I)V
astore 6
start local 6 6: aload 3
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 12
StackMap locals: org.springframework.aop.framework.ProxyFactoryBean org.springframework.beans.factory.ListableBeanFactory java.lang.String java.lang.String[] java.lang.String[] java.util.List java.util.Map top int int java.lang.String[]
StackMap stack:
7: aload 10
iload 8
aaload
astore 7
start local 7 8: aload 1
aload 7
invokeinterface org.springframework.beans.factory.ListableBeanFactory.getBean:(Ljava/lang/String;)Ljava/lang/Object;
astore 11
start local 11 9: aload 5
aload 11
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: aload 6
aload 11
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 11 end local 7 11: iinc 8 1
StackMap locals:
StackMap stack:
12: iload 8
iload 9
if_icmplt 7
13: aload 4
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 19
StackMap locals:
StackMap stack:
14: aload 10
iload 8
aaload
astore 7
start local 7 15: aload 1
aload 7
invokeinterface org.springframework.beans.factory.ListableBeanFactory.getBean:(Ljava/lang/String;)Ljava/lang/Object;
astore 11
start local 11 16: aload 5
aload 11
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: aload 6
aload 11
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 11 end local 7 18: iinc 8 1
StackMap locals:
StackMap stack:
19: iload 8
iload 9
if_icmplt 14
20: aload 5
invokestatic org.springframework.core.annotation.AnnotationAwareOrderComparator.sort:(Ljava/util/List;)V
21: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 26
StackMap locals: org.springframework.aop.framework.ProxyFactoryBean org.springframework.beans.factory.ListableBeanFactory java.lang.String java.lang.String[] java.lang.String[] java.util.List java.util.Map top java.util.Iterator
StackMap stack:
22: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 7
start local 7 23: aload 6
aload 7
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 24: aload 9
aload 2
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 26
25: aload 0
aload 7
aload 9
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.addAdvisorOnChainCreation:(Ljava/lang/Object;Ljava/lang/String;)V
end local 9 end local 7 26: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
27: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
0 28 1 beanFactory Lorg/springframework/beans/factory/ListableBeanFactory;
0 28 2 prefix Ljava/lang/String;
2 28 3 globalAdvisorNames [Ljava/lang/String;
4 28 4 globalInterceptorNames [Ljava/lang/String;
5 28 5 beans Ljava/util/List<Ljava/lang/Object;>;
6 28 6 names Ljava/util/Map<Ljava/lang/Object;Ljava/lang/String;>;
8 11 7 name Ljava/lang/String;
9 11 11 bean Ljava/lang/Object;
15 18 7 name Ljava/lang/String;
16 18 11 bean Ljava/lang/Object;
23 26 7 bean Ljava/lang/Object;
24 26 9 name Ljava/lang/String;
MethodParameters:
Name Flags
beanFactory
prefix
private void addAdvisorOnChainCreation(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.namedBeanToAdvisor:(Ljava/lang/Object;)Lorg/springframework/aop/Advisor;
astore 3
start local 3 1: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 3
2: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Adding advisor with name '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
3: StackMap locals: org.springframework.aop.Advisor
StackMap stack:
aload 0
aload 3
invokevirtual org.springframework.aop.framework.ProxyFactoryBean.addAdvisor:(Lorg/springframework/aop/Advisor;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
0 5 1 next Ljava/lang/Object;
0 5 2 name Ljava/lang/String;
1 5 3 advisor Lorg/springframework/aop/Advisor;
MethodParameters:
Name Flags
next
name
private org.springframework.aop.TargetSource freshTargetSource();
descriptor: ()Lorg/springframework/aop/TargetSource;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.targetName:Ljava/lang/String;
ifnonnull 4
1: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 3
2: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
ldc "Not refreshing target: Bean name not specified in 'interceptorNames'."
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.targetSource:Lorg/springframework/aop/TargetSource;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
ifnonnull 8
5: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "No BeanFactory available anymore (probably due to serialization) - cannot resolve target with name '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.targetName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 10
9: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Refreshing target with name '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.targetName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
10: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.targetName:Ljava/lang/String;
invokeinterface org.springframework.beans.factory.BeanFactory.getBean:(Ljava/lang/String;)Ljava/lang/Object;
astore 1
start local 1 11: aload 1
instanceof org.springframework.aop.TargetSource
ifeq 12
aload 1
checkcast org.springframework.aop.TargetSource
goto 13
StackMap locals: java.lang.Object
StackMap stack:
12: new org.springframework.aop.target.SingletonTargetSource
dup
aload 1
invokespecial org.springframework.aop.target.SingletonTargetSource.<init>:(Ljava/lang/Object;)V
StackMap locals:
StackMap stack: org.springframework.aop.TargetSource
13: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
11 14 1 target Ljava/lang/Object;
private org.springframework.aop.Advisor namedBeanToAdvisor(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lorg/springframework/aop/Advisor;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.advisorAdapterRegistry:Lorg/springframework/aop/framework/adapter/AdvisorAdapterRegistry;
aload 1
invokeinterface org.springframework.aop.framework.adapter.AdvisorAdapterRegistry.wrap:(Ljava/lang/Object;)Lorg/springframework/aop/Advisor;
1: areturn
2: StackMap locals:
StackMap stack: org.springframework.aop.framework.adapter.UnknownAdviceTypeException
astore 2
start local 2 3: new org.springframework.aop.framework.AopConfigException
dup
new java.lang.StringBuilder
dup
ldc "Unknown advisor type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4: ldc "; Can only include Advisor or Advice type beans in interceptorNames chain except for last entry,"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc "which may also be target or TargetSource"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
6: invokespecial org.springframework.aop.framework.AopConfigException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
0 7 1 next Ljava/lang/Object;
3 7 2 ex Lorg/springframework/aop/framework/adapter/UnknownAdviceTypeException;
Exception table:
from to target type
0 1 2 Class org.springframework.aop.framework.adapter.UnknownAdviceTypeException
MethodParameters:
Name Flags
next
protected void adviceChanged();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial org.springframework.aop.framework.ProxyCreatorSupport.adviceChanged:()V
1: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.singleton:Z
ifeq 9
2: aload 0
getfield org.springframework.aop.framework.ProxyFactoryBean.logger:Lorg/apache/commons/logging/Log;
ldc "Advice has changed; recaching singleton instance"
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
3: aload 0
dup
astore 1
monitorenter
4: aload 0
aconst_null
putfield org.springframework.aop.framework.ProxyFactoryBean.singletonInstance:Ljava/lang/Object;
5: aload 1
monitorexit
6: goto 9
StackMap locals: org.springframework.aop.framework.ProxyFactoryBean org.springframework.aop.framework.ProxyFactoryBean
StackMap stack: java.lang.Throwable
7: aload 1
monitorexit
8: athrow
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
Exception table:
from to target type
4 6 7 any
7 8 7 any
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
1: aload 0
invokestatic org.springframework.util.ClassUtils.getDefaultClassLoader:()Ljava/lang/ClassLoader;
putfield org.springframework.aop.framework.ProxyFactoryBean.proxyClassLoader:Ljava/lang/ClassLoader;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/aop/framework/ProxyFactoryBean;
0 3 1 ois Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
ois
}
Signature: Lorg/springframework/aop/framework/ProxyCreatorSupport;Lorg/springframework/beans/factory/FactoryBean<Ljava/lang/Object;>;Lorg/springframework/beans/factory/BeanClassLoaderAware;Lorg/springframework/beans/factory/BeanFactoryAware;
SourceFile: "ProxyFactoryBean.java"
NestMembers:
org.springframework.aop.framework.ProxyFactoryBean$PrototypePlaceholderAdvisor
InnerClasses:
private PrototypePlaceholderAdvisor = org.springframework.aop.framework.ProxyFactoryBean$PrototypePlaceholderAdvisor of org.springframework.aop.framework.ProxyFactoryBean