public class org.springframework.scheduling.annotation.AsyncAnnotationAdvisor extends org.springframework.aop.support.AbstractPointcutAdvisor implements org.springframework.beans.factory.BeanFactoryAware
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.scheduling.annotation.AsyncAnnotationAdvisor
super_class: org.springframework.aop.support.AbstractPointcutAdvisor
{
private org.aopalliance.aop.Advice advice;
descriptor: Lorg/aopalliance/aop/Advice;
flags: (0x0002) ACC_PRIVATE
private org.springframework.aop.Pointcut pointcut;
descriptor: Lorg/springframework/aop/Pointcut;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
aconst_null
invokespecial org.springframework.scheduling.annotation.AsyncAnnotationAdvisor.<init>:(Ljava/util/function/Supplier;Ljava/util/function/Supplier;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/scheduling/annotation/AsyncAnnotationAdvisor;
public void <init>(java.util.concurrent.Executor, org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler);
descriptor: (Ljava/util/concurrent/Executor;Lorg/springframework/aop/interceptor/AsyncUncaughtExceptionHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic org.springframework.util.function.SingletonSupplier.ofNullable:(Ljava/lang/Object;)Lorg/springframework/util/function/SingletonSupplier;
aload 2
invokestatic org.springframework.util.function.SingletonSupplier.ofNullable:(Ljava/lang/Object;)Lorg/springframework/util/function/SingletonSupplier;
invokespecial org.springframework.scheduling.annotation.AsyncAnnotationAdvisor.<init>:(Ljava/util/function/Supplier;Ljava/util/function/Supplier;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/scheduling/annotation/AsyncAnnotationAdvisor;
0 2 1 executor Ljava/util/concurrent/Executor;
0 2 2 exceptionHandler Lorg/springframework/aop/interceptor/AsyncUncaughtExceptionHandler;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
executor
exceptionHandler
public void <init>(java.util.function.Supplier<java.util.concurrent.Executor>, java.util.function.Supplier<org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler>);
descriptor: (Ljava/util/function/Supplier;Ljava/util/function/Supplier;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial org.springframework.aop.support.AbstractPointcutAdvisor.<init>:()V
1: new java.util.LinkedHashSet
dup
iconst_2
invokespecial java.util.LinkedHashSet.<init>:(I)V
astore 3
start local 3 2: aload 3
ldc Lorg/springframework/scheduling/annotation/Async;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
3: aload 3
4: ldc "javax.ejb.Asynchronous"
ldc Lorg/springframework/scheduling/annotation/AsyncAnnotationAdvisor;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic org.springframework.util.ClassUtils.forName:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
5: invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: goto 8
7: StackMap locals: org.springframework.scheduling.annotation.AsyncAnnotationAdvisor java.util.function.Supplier java.util.function.Supplier java.util.Set
StackMap stack: java.lang.ClassNotFoundException
pop
8: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
aload 2
invokevirtual org.springframework.scheduling.annotation.AsyncAnnotationAdvisor.buildAdvice:(Ljava/util/function/Supplier;Ljava/util/function/Supplier;)Lorg/aopalliance/aop/Advice;
putfield org.springframework.scheduling.annotation.AsyncAnnotationAdvisor.advice:Lorg/aopalliance/aop/Advice;
9: aload 0
aload 0
aload 3
invokevirtual org.springframework.scheduling.annotation.AsyncAnnotationAdvisor.buildPointcut:(Ljava/util/Set;)Lorg/springframework/aop/Pointcut;
putfield org.springframework.scheduling.annotation.AsyncAnnotationAdvisor.pointcut:Lorg/springframework/aop/Pointcut;
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/springframework/scheduling/annotation/AsyncAnnotationAdvisor;
0 11 1 executor Ljava/util/function/Supplier<Ljava/util/concurrent/Executor;>;
0 11 2 exceptionHandler Ljava/util/function/Supplier<Lorg/springframework/aop/interceptor/AsyncUncaughtExceptionHandler;>;
2 11 3 asyncAnnotationTypes Ljava/util/Set<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;
Exception table:
from to target type
3 6 7 Class java.lang.ClassNotFoundException
Signature: (Ljava/util/function/Supplier<Ljava/util/concurrent/Executor;>;Ljava/util/function/Supplier<Lorg/springframework/aop/interceptor/AsyncUncaughtExceptionHandler;>;)V
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
executor
exceptionHandler
public void setAsyncAnnotationType(java.lang.Class<? extends java.lang.annotation.Annotation>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ldc "'asyncAnnotationType' must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 2: aload 2
aload 1
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
3: aload 0
aload 0
aload 2
invokevirtual org.springframework.scheduling.annotation.AsyncAnnotationAdvisor.buildPointcut:(Ljava/util/Set;)Lorg/springframework/aop/Pointcut;
putfield org.springframework.scheduling.annotation.AsyncAnnotationAdvisor.pointcut:Lorg/springframework/aop/Pointcut;
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/scheduling/annotation/AsyncAnnotationAdvisor;
0 5 1 asyncAnnotationType Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
2 5 2 asyncAnnotationTypes Ljava/util/Set<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;
Signature: (Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;)V
MethodParameters:
Name Flags
asyncAnnotationType
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
getfield org.springframework.scheduling.annotation.AsyncAnnotationAdvisor.advice:Lorg/aopalliance/aop/Advice;
instanceof org.springframework.beans.factory.BeanFactoryAware
ifeq 2
1: aload 0
getfield org.springframework.scheduling.annotation.AsyncAnnotationAdvisor.advice:Lorg/aopalliance/aop/Advice;
checkcast org.springframework.beans.factory.BeanFactoryAware
aload 1
invokeinterface org.springframework.beans.factory.BeanFactoryAware.setBeanFactory:(Lorg/springframework/beans/factory/BeanFactory;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/scheduling/annotation/AsyncAnnotationAdvisor;
0 3 1 beanFactory Lorg/springframework/beans/factory/BeanFactory;
MethodParameters:
Name Flags
beanFactory
public org.aopalliance.aop.Advice getAdvice();
descriptor: ()Lorg/aopalliance/aop/Advice;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.scheduling.annotation.AsyncAnnotationAdvisor.advice:Lorg/aopalliance/aop/Advice;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/scheduling/annotation/AsyncAnnotationAdvisor;
public org.springframework.aop.Pointcut getPointcut();
descriptor: ()Lorg/springframework/aop/Pointcut;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.scheduling.annotation.AsyncAnnotationAdvisor.pointcut:Lorg/springframework/aop/Pointcut;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/scheduling/annotation/AsyncAnnotationAdvisor;
protected org.aopalliance.aop.Advice buildAdvice(java.util.function.Supplier<java.util.concurrent.Executor>, java.util.function.Supplier<org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler>);
descriptor: (Ljava/util/function/Supplier;Ljava/util/function/Supplier;)Lorg/aopalliance/aop/Advice;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new org.springframework.scheduling.annotation.AnnotationAsyncExecutionInterceptor
dup
aconst_null
invokespecial org.springframework.scheduling.annotation.AnnotationAsyncExecutionInterceptor.<init>:(Ljava/util/concurrent/Executor;)V
astore 3
start local 3 1: aload 3
aload 1
aload 2
invokevirtual org.springframework.scheduling.annotation.AnnotationAsyncExecutionInterceptor.configure:(Ljava/util/function/Supplier;Ljava/util/function/Supplier;)V
2: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/scheduling/annotation/AsyncAnnotationAdvisor;
0 3 1 executor Ljava/util/function/Supplier<Ljava/util/concurrent/Executor;>;
0 3 2 exceptionHandler Ljava/util/function/Supplier<Lorg/springframework/aop/interceptor/AsyncUncaughtExceptionHandler;>;
1 3 3 interceptor Lorg/springframework/scheduling/annotation/AnnotationAsyncExecutionInterceptor;
Signature: (Ljava/util/function/Supplier<Ljava/util/concurrent/Executor;>;Ljava/util/function/Supplier<Lorg/springframework/aop/interceptor/AsyncUncaughtExceptionHandler;>;)Lorg/aopalliance/aop/Advice;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
executor
exceptionHandler
protected org.springframework.aop.Pointcut buildPointcut(java.util.Set<java.lang.Class<? extends java.lang.annotation.Annotation>>);
descriptor: (Ljava/util/Set;)Lorg/springframework/aop/Pointcut;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: org.springframework.scheduling.annotation.AsyncAnnotationAdvisor java.util.Set org.springframework.aop.support.ComposablePointcut top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Class
astore 3
start local 3 3: new org.springframework.aop.support.annotation.AnnotationMatchingPointcut
dup
aload 3
iconst_1
invokespecial org.springframework.aop.support.annotation.AnnotationMatchingPointcut.<init>:(Ljava/lang/Class;Z)V
astore 5
start local 5 4: new org.springframework.aop.support.annotation.AnnotationMatchingPointcut
dup
aconst_null
aload 3
iconst_1
invokespecial org.springframework.aop.support.annotation.AnnotationMatchingPointcut.<init>:(Ljava/lang/Class;Ljava/lang/Class;Z)V
astore 6
start local 6 5: aload 2
ifnonnull 8
6: new org.springframework.aop.support.ComposablePointcut
dup
aload 5
invokespecial org.springframework.aop.support.ComposablePointcut.<init>:(Lorg/springframework/aop/Pointcut;)V
astore 2
7: goto 9
8: StackMap locals: org.springframework.scheduling.annotation.AsyncAnnotationAdvisor java.util.Set org.springframework.aop.support.ComposablePointcut java.lang.Class java.util.Iterator org.springframework.aop.Pointcut org.springframework.aop.Pointcut
StackMap stack:
aload 2
aload 5
invokevirtual org.springframework.aop.support.ComposablePointcut.union:(Lorg/springframework/aop/Pointcut;)Lorg/springframework/aop/support/ComposablePointcut;
pop
9: StackMap locals:
StackMap stack:
aload 2
aload 6
invokevirtual org.springframework.aop.support.ComposablePointcut.union:(Lorg/springframework/aop/Pointcut;)Lorg/springframework/aop/support/ComposablePointcut;
astore 2
end local 6 end local 5 end local 3 10: StackMap locals: org.springframework.scheduling.annotation.AsyncAnnotationAdvisor java.util.Set org.springframework.aop.support.ComposablePointcut top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
11: aload 2
ifnull 12
aload 2
goto 13
StackMap locals: org.springframework.scheduling.annotation.AsyncAnnotationAdvisor java.util.Set org.springframework.aop.support.ComposablePointcut
StackMap stack:
12: getstatic org.springframework.aop.Pointcut.TRUE:Lorg/springframework/aop/Pointcut;
StackMap locals:
StackMap stack: org.springframework.aop.Pointcut
13: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/springframework/scheduling/annotation/AsyncAnnotationAdvisor;
0 14 1 asyncAnnotationTypes Ljava/util/Set<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;
1 14 2 result Lorg/springframework/aop/support/ComposablePointcut;
3 10 3 asyncAnnotationType Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
4 10 5 cpc Lorg/springframework/aop/Pointcut;
5 10 6 mpc Lorg/springframework/aop/Pointcut;
Signature: (Ljava/util/Set<Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;>;)Lorg/springframework/aop/Pointcut;
MethodParameters:
Name Flags
asyncAnnotationTypes
}
SourceFile: "AsyncAnnotationAdvisor.java"