public class org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor implements org.springframework.scheduling.config.ScheduledTaskHolder, org.springframework.beans.factory.support.MergedBeanDefinitionPostProcessor, org.springframework.beans.factory.config.DestructionAwareBeanPostProcessor, org.springframework.core.Ordered, org.springframework.context.EmbeddedValueResolverAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.SmartInitializingSingleton, org.springframework.context.ApplicationListener<org.springframework.context.event.ContextRefreshedEvent>, org.springframework.beans.factory.DisposableBean
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor
super_class: java.lang.Object
{
public static final java.lang.String DEFAULT_TASK_SCHEDULER_BEAN_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "taskScheduler"
protected final org.apache.commons.logging.Log logger;
descriptor: Lorg/apache/commons/logging/Log;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final org.springframework.scheduling.config.ScheduledTaskRegistrar registrar;
descriptor: Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.Object scheduler;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private org.springframework.util.StringValueResolver embeddedValueResolver;
descriptor: Lorg/springframework/util/StringValueResolver;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.lang.String beanName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private org.springframework.beans.factory.BeanFactory beanFactory;
descriptor: Lorg/springframework/beans/factory/BeanFactory;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private org.springframework.context.ApplicationContext applicationContext;
descriptor: Lorg/springframework/context/ApplicationContext;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private final java.util.Set<java.lang.Class<?>> nonAnnotatedClasses;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/Class<*>;>;
private final java.util.Map<java.lang.Object, java.util.Set<org.springframework.scheduling.config.ScheduledTask>> scheduledTasks;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Object;Ljava/util/Set<Lorg/springframework/scheduling/config/ScheduledTask;>;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<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.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.logger:Lorg/apache/commons/logging/Log;
2: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
bipush 64
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
putfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.nonAnnotatedClasses:Ljava/util/Set;
3: aload 0
new java.util.IdentityHashMap
dup
bipush 16
invokespecial java.util.IdentityHashMap.<init>:(I)V
putfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.scheduledTasks:Ljava/util/Map;
4: aload 0
new org.springframework.scheduling.config.ScheduledTaskRegistrar
dup
invokespecial org.springframework.scheduling.config.ScheduledTaskRegistrar.<init>:()V
putfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.registrar:Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
public void <init>(org.springframework.scheduling.config.ScheduledTaskRegistrar);
descriptor: (Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<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.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.logger:Lorg/apache/commons/logging/Log;
2: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
bipush 64
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
putfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.nonAnnotatedClasses:Ljava/util/Set;
3: aload 0
new java.util.IdentityHashMap
dup
bipush 16
invokespecial java.util.IdentityHashMap.<init>:(I)V
putfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.scheduledTasks:Ljava/util/Map;
4: aload 1
ldc "ScheduledTaskRegistrar is required"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
5: aload 0
aload 1
putfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.registrar:Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
0 7 1 registrar Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
MethodParameters:
Name Flags
registrar
public int getOrder();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc 2147483647
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
public void setScheduler(java.lang.Object);
descriptor: (Ljava/lang/Object;)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.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.scheduler:Ljava/lang/Object;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
0 2 1 scheduler Ljava/lang/Object;
MethodParameters:
Name Flags
scheduler
public void setEmbeddedValueResolver(org.springframework.util.StringValueResolver);
descriptor: (Lorg/springframework/util/StringValueResolver;)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.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.embeddedValueResolver:Lorg/springframework/util/StringValueResolver;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
0 2 1 resolver Lorg/springframework/util/StringValueResolver;
MethodParameters:
Name Flags
resolver
public void setBeanName(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.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.beanName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
0 2 1 beanName Ljava/lang/String;
MethodParameters:
Name Flags
beanName
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.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
0 2 1 beanFactory Lorg/springframework/beans/factory/BeanFactory;
MethodParameters:
Name Flags
beanFactory
public void setApplicationContext(org.springframework.context.ApplicationContext);
descriptor: (Lorg/springframework/context/ApplicationContext;)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.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.applicationContext:Lorg/springframework/context/ApplicationContext;
1: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
ifnonnull 3
2: aload 0
aload 1
putfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
0 4 1 applicationContext Lorg/springframework/context/ApplicationContext;
MethodParameters:
Name Flags
applicationContext
public void afterSingletonsInstantiated();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.nonAnnotatedClasses:Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
1: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.applicationContext:Lorg/springframework/context/ApplicationContext;
ifnonnull 3
2: aload 0
invokevirtual org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.finishRegistration:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
public void onApplicationEvent(org.springframework.context.event.ContextRefreshedEvent);
descriptor: (Lorg/springframework/context/event/ContextRefreshedEvent;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.springframework.context.event.ContextRefreshedEvent.getApplicationContext:()Lorg/springframework/context/ApplicationContext;
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.applicationContext:Lorg/springframework/context/ApplicationContext;
if_acmpne 2
1: aload 0
invokevirtual org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.finishRegistration:()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/ScheduledAnnotationBeanPostProcessor;
0 3 1 event Lorg/springframework/context/event/ContextRefreshedEvent;
MethodParameters:
Name Flags
event
private void finishRegistration();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.scheduler:Ljava/lang/Object;
ifnull 2
1: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.registrar:Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.scheduler:Ljava/lang/Object;
invokevirtual org.springframework.scheduling.config.ScheduledTaskRegistrar.setScheduler:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
instanceof org.springframework.beans.factory.ListableBeanFactory
ifeq 11
3: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
checkcast org.springframework.beans.factory.ListableBeanFactory
ldc Lorg/springframework/scheduling/annotation/SchedulingConfigurer;
invokeinterface org.springframework.beans.factory.ListableBeanFactory.getBeansOfType:(Ljava/lang/Class;)Ljava/util/Map;
4: astore 1
start local 1 5: new java.util.ArrayList
dup
aload 1
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 2
start local 2 6: aload 2
invokestatic org.springframework.core.annotation.AnnotationAwareOrderComparator.sort:(Ljava/util/List;)V
7: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 10
StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor java.util.Map java.util.List top java.util.Iterator
StackMap stack:
8: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.scheduling.annotation.SchedulingConfigurer
astore 3
start local 3 9: aload 3
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.registrar:Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
invokeinterface org.springframework.scheduling.annotation.SchedulingConfigurer.configureTasks:(Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;)V
end local 3 10: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 2 end local 1 11: StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor
StackMap stack:
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.registrar:Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
invokevirtual org.springframework.scheduling.config.ScheduledTaskRegistrar.hasTasks:()Z
ifeq 44
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.registrar:Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
invokevirtual org.springframework.scheduling.config.ScheduledTaskRegistrar.getScheduler:()Lorg/springframework/scheduling/TaskScheduler;
ifnonnull 44
12: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
ifnull 13
iconst_1
goto 14
StackMap locals:
StackMap stack:
13: iconst_0
StackMap locals:
StackMap stack: int
14: ldc "BeanFactory must be set to find scheduler by type"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
15: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.registrar:Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
aload 0
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
ldc Lorg/springframework/scheduling/TaskScheduler;
iconst_0
invokevirtual org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.resolveSchedulerBean:(Lorg/springframework/beans/factory/BeanFactory;Ljava/lang/Class;Z)Ljava/lang/Object;
checkcast org.springframework.scheduling.TaskScheduler
invokevirtual org.springframework.scheduling.config.ScheduledTaskRegistrar.setTaskScheduler:(Lorg/springframework/scheduling/TaskScheduler;)V
16: goto 44
17: StackMap locals:
StackMap stack: org.springframework.beans.factory.NoUniqueBeanDefinitionException
astore 1
start local 1 18: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.logger:Lorg/apache/commons/logging/Log;
ldc "Could not find unique TaskScheduler bean"
aload 1
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;Ljava/lang/Throwable;)V
19: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.registrar:Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
aload 0
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
ldc Lorg/springframework/scheduling/TaskScheduler;
iconst_1
invokevirtual org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.resolveSchedulerBean:(Lorg/springframework/beans/factory/BeanFactory;Ljava/lang/Class;Z)Ljava/lang/Object;
checkcast org.springframework.scheduling.TaskScheduler
invokevirtual org.springframework.scheduling.config.ScheduledTaskRegistrar.setTaskScheduler:(Lorg/springframework/scheduling/TaskScheduler;)V
20: goto 44
21: StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor org.springframework.beans.factory.NoUniqueBeanDefinitionException
StackMap stack: org.springframework.beans.factory.NoSuchBeanDefinitionException
pop
22: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isInfoEnabled:()Z
ifeq 44
23: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "More than one TaskScheduler bean exists within the context, and none is named 'taskScheduler'. Mark one of them as primary or name it 'taskScheduler' (possibly as an alias); or implement the SchedulingConfigurer interface and call ScheduledTaskRegistrar#setScheduler explicitly within the configureTasks() callback: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
24: aload 1
invokevirtual org.springframework.beans.factory.NoUniqueBeanDefinitionException.getBeanNamesFound:()Ljava/util/Collection;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
end local 1 26: goto 44
27: StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor
StackMap stack: org.springframework.beans.factory.NoSuchBeanDefinitionException
astore 1
start local 1 28: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.logger:Lorg/apache/commons/logging/Log;
ldc "Could not find default TaskScheduler bean"
aload 1
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;Ljava/lang/Throwable;)V
29: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.registrar:Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
aload 0
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
ldc Ljava/util/concurrent/ScheduledExecutorService;
iconst_0
invokevirtual org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.resolveSchedulerBean:(Lorg/springframework/beans/factory/BeanFactory;Ljava/lang/Class;Z)Ljava/lang/Object;
invokevirtual org.springframework.scheduling.config.ScheduledTaskRegistrar.setScheduler:(Ljava/lang/Object;)V
30: goto 44
31: StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor org.springframework.beans.factory.NoSuchBeanDefinitionException
StackMap stack: org.springframework.beans.factory.NoUniqueBeanDefinitionException
astore 2
start local 2 32: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.logger:Lorg/apache/commons/logging/Log;
ldc "Could not find unique ScheduledExecutorService bean"
aload 2
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;Ljava/lang/Throwable;)V
33: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.registrar:Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
aload 0
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
ldc Ljava/util/concurrent/ScheduledExecutorService;
iconst_1
invokevirtual org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.resolveSchedulerBean:(Lorg/springframework/beans/factory/BeanFactory;Ljava/lang/Class;Z)Ljava/lang/Object;
invokevirtual org.springframework.scheduling.config.ScheduledTaskRegistrar.setScheduler:(Ljava/lang/Object;)V
34: goto 44
35: StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor org.springframework.beans.factory.NoSuchBeanDefinitionException org.springframework.beans.factory.NoUniqueBeanDefinitionException
StackMap stack: org.springframework.beans.factory.NoSuchBeanDefinitionException
pop
36: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isInfoEnabled:()Z
ifeq 44
37: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "More than one ScheduledExecutorService bean exists within the context, and none is named 'taskScheduler'. Mark one of them as primary or name it 'taskScheduler' (possibly as an alias); or implement the SchedulingConfigurer interface and call ScheduledTaskRegistrar#setScheduler explicitly within the configureTasks() callback: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
38: aload 2
invokevirtual org.springframework.beans.factory.NoUniqueBeanDefinitionException.getBeanNamesFound:()Ljava/util/Collection;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
39: invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
end local 2 40: goto 44
41: StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor org.springframework.beans.factory.NoSuchBeanDefinitionException
StackMap stack: org.springframework.beans.factory.NoSuchBeanDefinitionException
astore 2
start local 2 42: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.logger:Lorg/apache/commons/logging/Log;
ldc "Could not find default ScheduledExecutorService bean"
aload 2
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;Ljava/lang/Throwable;)V
43: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.logger:Lorg/apache/commons/logging/Log;
ldc "No TaskScheduler/ScheduledExecutorService bean found for scheduled processing"
invokeinterface org.apache.commons.logging.Log.info:(Ljava/lang/Object;)V
end local 2 end local 1 44: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.registrar:Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
invokevirtual org.springframework.scheduling.config.ScheduledTaskRegistrar.afterPropertiesSet:()V
45: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
5 11 1 beans Ljava/util/Map<Ljava/lang/String;Lorg/springframework/scheduling/annotation/SchedulingConfigurer;>;
6 11 2 configurers Ljava/util/List<Lorg/springframework/scheduling/annotation/SchedulingConfigurer;>;
9 10 3 configurer Lorg/springframework/scheduling/annotation/SchedulingConfigurer;
18 26 1 ex Lorg/springframework/beans/factory/NoUniqueBeanDefinitionException;
28 44 1 ex Lorg/springframework/beans/factory/NoSuchBeanDefinitionException;
32 40 2 ex2 Lorg/springframework/beans/factory/NoUniqueBeanDefinitionException;
42 44 2 ex2 Lorg/springframework/beans/factory/NoSuchBeanDefinitionException;
Exception table:
from to target type
15 16 17 Class org.springframework.beans.factory.NoUniqueBeanDefinitionException
19 20 21 Class org.springframework.beans.factory.NoSuchBeanDefinitionException
15 16 27 Class org.springframework.beans.factory.NoSuchBeanDefinitionException
29 30 31 Class org.springframework.beans.factory.NoUniqueBeanDefinitionException
33 34 35 Class org.springframework.beans.factory.NoSuchBeanDefinitionException
29 30 41 Class org.springframework.beans.factory.NoSuchBeanDefinitionException
private <T> T resolveSchedulerBean(org.springframework.beans.factory.BeanFactory, java.lang.Class<T>, );
descriptor: (Lorg/springframework/beans/factory/BeanFactory;Ljava/lang/Class;Z)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifeq 7
1: aload 1
ldc "taskScheduler"
aload 2
invokeinterface org.springframework.beans.factory.BeanFactory.getBean:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
astore 4
start local 4 2: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.beanName:Ljava/lang/String;
ifnull 6
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
instanceof org.springframework.beans.factory.config.ConfigurableBeanFactory
ifeq 6
3: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.beanFactory:Lorg/springframework/beans/factory/BeanFactory;
checkcast org.springframework.beans.factory.config.ConfigurableBeanFactory
4: ldc "taskScheduler"
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.beanName:Ljava/lang/String;
5: invokeinterface org.springframework.beans.factory.config.ConfigurableBeanFactory.registerDependentBean:(Ljava/lang/String;Ljava/lang/String;)V
6: StackMap locals: java.lang.Object
StackMap stack:
aload 4
areturn
end local 4 7: StackMap locals:
StackMap stack:
aload 1
instanceof org.springframework.beans.factory.config.AutowireCapableBeanFactory
ifeq 12
8: aload 1
checkcast org.springframework.beans.factory.config.AutowireCapableBeanFactory
aload 2
invokeinterface org.springframework.beans.factory.config.AutowireCapableBeanFactory.resolveNamedBean:(Ljava/lang/Class;)Lorg/springframework/beans/factory/config/NamedBeanHolder;
astore 4
start local 4 9: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.beanName:Ljava/lang/String;
ifnull 11
aload 1
instanceof org.springframework.beans.factory.config.ConfigurableBeanFactory
ifeq 11
10: aload 1
checkcast org.springframework.beans.factory.config.ConfigurableBeanFactory
aload 4
invokevirtual org.springframework.beans.factory.config.NamedBeanHolder.getBeanName:()Ljava/lang/String;
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.beanName:Ljava/lang/String;
invokeinterface org.springframework.beans.factory.config.ConfigurableBeanFactory.registerDependentBean:(Ljava/lang/String;Ljava/lang/String;)V
11: StackMap locals: org.springframework.beans.factory.config.NamedBeanHolder
StackMap stack:
aload 4
invokevirtual org.springframework.beans.factory.config.NamedBeanHolder.getBeanInstance:()Ljava/lang/Object;
areturn
end local 4 12: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface org.springframework.beans.factory.BeanFactory.getBean:(Ljava/lang/Class;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
0 13 1 beanFactory Lorg/springframework/beans/factory/BeanFactory;
0 13 2 schedulerType Ljava/lang/Class<TT;>;
0 13 3 byName Z
2 7 4 scheduler TT;
9 12 4 holder Lorg/springframework/beans/factory/config/NamedBeanHolder<TT;>;
Signature: <T:Ljava/lang/Object;>(Lorg/springframework/beans/factory/BeanFactory;Ljava/lang/Class<TT;>;Z)TT;
MethodParameters:
Name Flags
beanFactory
schedulerType
byName
public void postProcessMergedBeanDefinition(org.springframework.beans.factory.support.RootBeanDefinition, java.lang.Class<?>, java.lang.String);
descriptor: (Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/Class;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
0 1 1 beanDefinition Lorg/springframework/beans/factory/support/RootBeanDefinition;
0 1 2 beanType Ljava/lang/Class<*>;
0 1 3 beanName Ljava/lang/String;
Signature: (Lorg/springframework/beans/factory/support/RootBeanDefinition;Ljava/lang/Class<*>;Ljava/lang/String;)V
MethodParameters:
Name Flags
beanDefinition
beanType
beanName
public java.lang.Object postProcessBeforeInitialization(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
0 1 1 bean Ljava/lang/Object;
0 1 2 beanName Ljava/lang/String;
MethodParameters:
Name Flags
bean
beanName
public java.lang.Object postProcessAfterInitialization(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof org.springframework.aop.framework.AopInfrastructureBean
ifne 2
aload 1
instanceof org.springframework.scheduling.TaskScheduler
ifne 2
1: aload 1
instanceof java.util.concurrent.ScheduledExecutorService
ifeq 3
2: StackMap locals:
StackMap stack:
aload 1
areturn
3: StackMap locals:
StackMap stack:
aload 1
invokestatic org.springframework.aop.framework.AopProxyUtils.ultimateTargetClass:(Ljava/lang/Object;)Ljava/lang/Class;
astore 3
start local 3 4: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.nonAnnotatedClasses:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 18
5: aload 3
6: invokedynamic inspect()Lorg/springframework/core/MethodIntrospector$MetadataLookup;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/reflect/Method;)Ljava/lang/Object;
org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor.lambda$0(Ljava/lang/reflect/Method;)Ljava/util/Set; (6)
(Ljava/lang/reflect/Method;)Ljava/util/Set;
7: invokestatic org.springframework.core.MethodIntrospector.selectMethods:(Ljava/lang/Class;Lorg/springframework/core/MethodIntrospector$MetadataLookup;)Ljava/util/Map;
astore 4
start local 4 8: aload 4
invokeinterface java.util.Map.isEmpty:()Z
ifeq 13
9: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.nonAnnotatedClasses:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
10: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 18
11: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "No @Scheduled annotations found on bean class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
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: goto 18
13: StackMap locals: java.lang.Class java.util.Map
StackMap stack:
aload 4
aload 0
aload 1
invokedynamic accept(Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;Ljava/lang/Object;)Ljava/util/function/BiConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)V
org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor.lambda$1(Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/util/Set;)V (7)
(Ljava/lang/reflect/Method;Ljava/util/Set;)V
invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
14: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isTraceEnabled:()Z
ifeq 18
15: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
aload 4
invokeinterface java.util.Map.size:()I
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " @Scheduled methods processed on bean '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: ldc "': "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
end local 4 18: StackMap locals:
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
0 19 1 bean Ljava/lang/Object;
0 19 2 beanName Ljava/lang/String;
4 19 3 targetClass Ljava/lang/Class<*>;
8 18 4 annotatedMethods Ljava/util/Map<Ljava/lang/reflect/Method;Ljava/util/Set<Lorg/springframework/scheduling/annotation/Scheduled;>;>;
MethodParameters:
Name Flags
bean
beanName
protected void processScheduled(org.springframework.scheduling.annotation.Scheduled, java.lang.reflect.Method, java.lang.Object);
descriptor: (Lorg/springframework/scheduling/annotation/Scheduled;Ljava/lang/reflect/Method;Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=20, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 3
aload 2
invokevirtual org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.createRunnable:(Ljava/lang/Object;Ljava/lang/reflect/Method;)Ljava/lang/Runnable;
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: ldc "Exactly one of the 'cron', 'fixedDelay(String)', or 'fixedRate(String)' attributes is required"
3: astore 6
start local 6 4: new java.util.LinkedHashSet
dup
iconst_4
invokespecial java.util.LinkedHashSet.<init>:(I)V
astore 7
start local 7 5: aload 1
invokeinterface org.springframework.scheduling.annotation.Scheduled.initialDelay:()J
lstore 8
start local 8 6: aload 1
invokeinterface org.springframework.scheduling.annotation.Scheduled.initialDelayString:()Ljava/lang/String;
astore 10
start local 10 7: aload 10
invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
ifeq 20
8: lload 8
lconst_0
lcmp
ifge 9
iconst_1
goto 10
StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor org.springframework.scheduling.annotation.Scheduled java.lang.reflect.Method java.lang.Object java.lang.Runnable int java.lang.String java.util.Set long java.lang.String
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: ldc "Specify 'initialDelay' or 'initialDelayString', not both"
invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
11: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.embeddedValueResolver:Lorg/springframework/util/StringValueResolver;
ifnull 13
12: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.embeddedValueResolver:Lorg/springframework/util/StringValueResolver;
aload 10
invokeinterface org.springframework.util.StringValueResolver.resolveStringValue:(Ljava/lang/String;)Ljava/lang/String;
astore 10
13: StackMap locals:
StackMap stack:
aload 10
invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
ifeq 20
14: aload 10
invokestatic org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.parseDelayAsLong:(Ljava/lang/String;)J
lstore 8
15: goto 20
16: StackMap locals:
StackMap stack: java.lang.RuntimeException
pop
17: new java.lang.IllegalArgumentException
dup
18: new java.lang.StringBuilder
dup
ldc "Invalid initialDelayString value \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" - cannot parse into long"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.springframework.scheduling.annotation.Scheduled.cron:()Ljava/lang/String;
astore 11
start local 11 21: aload 11
invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
ifeq 37
22: aload 1
invokeinterface org.springframework.scheduling.annotation.Scheduled.zone:()Ljava/lang/String;
astore 12
start local 12 23: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.embeddedValueResolver:Lorg/springframework/util/StringValueResolver;
ifnull 26
24: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.embeddedValueResolver:Lorg/springframework/util/StringValueResolver;
aload 11
invokeinterface org.springframework.util.StringValueResolver.resolveStringValue:(Ljava/lang/String;)Ljava/lang/String;
astore 11
25: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.embeddedValueResolver:Lorg/springframework/util/StringValueResolver;
aload 12
invokeinterface org.springframework.util.StringValueResolver.resolveStringValue:(Ljava/lang/String;)Ljava/lang/String;
astore 12
26: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 11
invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
ifeq 37
27: lload 8
ldc -1
lcmp
ifne 28
iconst_1
goto 29
StackMap locals:
StackMap stack:
28: iconst_0
StackMap locals:
StackMap stack: int
29: ldc "'initialDelay' not supported for cron triggers"
invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
30: iconst_1
istore 5
31: ldc "-"
aload 11
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 37
32: aload 12
invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
ifeq 35
33: aload 12
invokestatic org.springframework.util.StringUtils.parseTimeZoneString:(Ljava/lang/String;)Ljava/util/TimeZone;
astore 13
start local 13 34: goto 36
end local 13 35: StackMap locals:
StackMap stack:
invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
astore 13
start local 13 36: StackMap locals: java.util.TimeZone
StackMap stack:
aload 7
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.registrar:Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
new org.springframework.scheduling.config.CronTask
dup
aload 4
new org.springframework.scheduling.support.CronTrigger
dup
aload 11
aload 13
invokespecial org.springframework.scheduling.support.CronTrigger.<init>:(Ljava/lang/String;Ljava/util/TimeZone;)V
invokespecial org.springframework.scheduling.config.CronTask.<init>:(Ljava/lang/Runnable;Lorg/springframework/scheduling/support/CronTrigger;)V
invokevirtual org.springframework.scheduling.config.ScheduledTaskRegistrar.scheduleCronTask:(Lorg/springframework/scheduling/config/CronTask;)Lorg/springframework/scheduling/config/ScheduledTask;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 13 end local 12 37: StackMap locals:
StackMap stack:
lload 8
lconst_0
lcmp
ifge 39
38: lconst_0
lstore 8
39: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.springframework.scheduling.annotation.Scheduled.fixedDelay:()J
lstore 12
start local 12 40: lload 12
lconst_0
lcmp
iflt 46
41: iload 5
ifeq 42
iconst_0
goto 43
StackMap locals: long
StackMap stack:
42: iconst_1
StackMap locals:
StackMap stack: int
43: aload 6
invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
44: iconst_1
istore 5
45: aload 7
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.registrar:Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
new org.springframework.scheduling.config.FixedDelayTask
dup
aload 4
lload 12
lload 8
invokespecial org.springframework.scheduling.config.FixedDelayTask.<init>:(Ljava/lang/Runnable;JJ)V
invokevirtual org.springframework.scheduling.config.ScheduledTaskRegistrar.scheduleFixedDelayTask:(Lorg/springframework/scheduling/config/FixedDelayTask;)Lorg/springframework/scheduling/config/ScheduledTask;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
46: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.springframework.scheduling.annotation.Scheduled.fixedDelayString:()Ljava/lang/String;
astore 14
start local 14 47: aload 14
invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
ifeq 62
48: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.embeddedValueResolver:Lorg/springframework/util/StringValueResolver;
ifnull 50
49: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.embeddedValueResolver:Lorg/springframework/util/StringValueResolver;
aload 14
invokeinterface org.springframework.util.StringValueResolver.resolveStringValue:(Ljava/lang/String;)Ljava/lang/String;
astore 14
50: StackMap locals: java.lang.String
StackMap stack:
aload 14
invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
ifeq 62
51: iload 5
ifeq 52
iconst_0
goto 53
StackMap locals:
StackMap stack:
52: iconst_1
StackMap locals:
StackMap stack: int
53: aload 6
invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
54: iconst_1
istore 5
55: aload 14
invokestatic org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.parseDelayAsLong:(Ljava/lang/String;)J
lstore 12
56: goto 61
57: StackMap locals:
StackMap stack: java.lang.RuntimeException
pop
58: new java.lang.IllegalArgumentException
dup
59: new java.lang.StringBuilder
dup
ldc "Invalid fixedDelayString value \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" - cannot parse into long"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
60: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
61: StackMap locals:
StackMap stack:
aload 7
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.registrar:Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
new org.springframework.scheduling.config.FixedDelayTask
dup
aload 4
lload 12
lload 8
invokespecial org.springframework.scheduling.config.FixedDelayTask.<init>:(Ljava/lang/Runnable;JJ)V
invokevirtual org.springframework.scheduling.config.ScheduledTaskRegistrar.scheduleFixedDelayTask:(Lorg/springframework/scheduling/config/FixedDelayTask;)Lorg/springframework/scheduling/config/ScheduledTask;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
62: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.springframework.scheduling.annotation.Scheduled.fixedRate:()J
lstore 15
start local 15 63: lload 15
lconst_0
lcmp
iflt 69
64: iload 5
ifeq 65
iconst_0
goto 66
StackMap locals: long
StackMap stack:
65: iconst_1
StackMap locals:
StackMap stack: int
66: aload 6
invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
67: iconst_1
istore 5
68: aload 7
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.registrar:Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
new org.springframework.scheduling.config.FixedRateTask
dup
aload 4
lload 15
lload 8
invokespecial org.springframework.scheduling.config.FixedRateTask.<init>:(Ljava/lang/Runnable;JJ)V
invokevirtual org.springframework.scheduling.config.ScheduledTaskRegistrar.scheduleFixedRateTask:(Lorg/springframework/scheduling/config/FixedRateTask;)Lorg/springframework/scheduling/config/ScheduledTask;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
69: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.springframework.scheduling.annotation.Scheduled.fixedRateString:()Ljava/lang/String;
astore 17
start local 17 70: aload 17
invokestatic org.springframework.util.StringUtils.hasText:(Ljava/lang/String;)Z
ifeq 85
71: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.embeddedValueResolver:Lorg/springframework/util/StringValueResolver;
ifnull 73
72: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.embeddedValueResolver:Lorg/springframework/util/StringValueResolver;
aload 17
invokeinterface org.springframework.util.StringValueResolver.resolveStringValue:(Ljava/lang/String;)Ljava/lang/String;
astore 17
73: StackMap locals: java.lang.String
StackMap stack:
aload 17
invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
ifeq 85
74: iload 5
ifeq 75
iconst_0
goto 76
StackMap locals:
StackMap stack:
75: iconst_1
StackMap locals:
StackMap stack: int
76: aload 6
invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
77: iconst_1
istore 5
78: aload 17
invokestatic org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.parseDelayAsLong:(Ljava/lang/String;)J
lstore 15
79: goto 84
80: StackMap locals:
StackMap stack: java.lang.RuntimeException
pop
81: new java.lang.IllegalArgumentException
dup
82: new java.lang.StringBuilder
dup
ldc "Invalid fixedRateString value \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 17
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" - cannot parse into long"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
83: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
84: StackMap locals:
StackMap stack:
aload 7
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.registrar:Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
new org.springframework.scheduling.config.FixedRateTask
dup
aload 4
lload 15
lload 8
invokespecial org.springframework.scheduling.config.FixedRateTask.<init>:(Ljava/lang/Runnable;JJ)V
invokevirtual org.springframework.scheduling.config.ScheduledTaskRegistrar.scheduleFixedRateTask:(Lorg/springframework/scheduling/config/FixedRateTask;)Lorg/springframework/scheduling/config/ScheduledTask;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
85: StackMap locals:
StackMap stack:
iload 5
aload 6
invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
86: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.scheduledTasks:Ljava/util/Map;
dup
astore 18
monitorenter
87: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.scheduledTasks:Ljava/util/Map;
aload 3
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor.lambda$3(Ljava/lang/Object;)Ljava/util/Set; (6)
(Ljava/lang/Object;)Ljava/util/Set;
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast java.util.Set
astore 19
start local 19 88: aload 19
aload 7
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
end local 19 89: aload 18
monitorexit
90: goto 97
StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor org.springframework.scheduling.annotation.Scheduled java.lang.reflect.Method java.lang.Object java.lang.Runnable int java.lang.String java.util.Set long java.lang.String java.lang.String long java.lang.String long java.lang.String java.util.Map
StackMap stack: java.lang.Throwable
91: aload 18
monitorexit
92: athrow
end local 17 end local 15 end local 14 end local 12 end local 11 end local 10 end local 8 end local 7 end local 6 end local 5 end local 4 93: StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor org.springframework.scheduling.annotation.Scheduled java.lang.reflect.Method java.lang.Object
StackMap stack: java.lang.IllegalArgumentException
astore 4
start local 4 94: new java.lang.IllegalStateException
dup
95: new java.lang.StringBuilder
dup
ldc "Encountered invalid @Scheduled method '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.reflect.Method.getName:()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;
aload 4
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
96: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 4 97: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 98 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
0 98 1 scheduled Lorg/springframework/scheduling/annotation/Scheduled;
0 98 2 method Ljava/lang/reflect/Method;
0 98 3 bean Ljava/lang/Object;
1 93 4 runnable Ljava/lang/Runnable;
2 93 5 processedSchedule Z
4 93 6 errorMessage Ljava/lang/String;
5 93 7 tasks Ljava/util/Set<Lorg/springframework/scheduling/config/ScheduledTask;>;
6 93 8 initialDelay J
7 93 10 initialDelayString Ljava/lang/String;
21 93 11 cron Ljava/lang/String;
23 37 12 zone Ljava/lang/String;
34 35 13 timeZone Ljava/util/TimeZone;
36 37 13 timeZone Ljava/util/TimeZone;
40 93 12 fixedDelay J
47 93 14 fixedDelayString Ljava/lang/String;
63 93 15 fixedRate J
70 93 17 fixedRateString Ljava/lang/String;
88 89 19 regTasks Ljava/util/Set<Lorg/springframework/scheduling/config/ScheduledTask;>;
94 97 4 ex Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
14 15 16 Class java.lang.RuntimeException
55 56 57 Class java.lang.RuntimeException
78 79 80 Class java.lang.RuntimeException
87 90 91 any
91 92 91 any
0 93 93 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
scheduled
method
bean
protected java.lang.Runnable createRunnable(java.lang.Object, java.lang.reflect.Method);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;)Ljava/lang/Runnable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.lang.reflect.Method.getParameterCount:()I
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "Only no-arg methods may be annotated with @Scheduled"
invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
3: aload 2
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.springframework.aop.support.AopUtils.selectInvocableMethod:(Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 3
start local 3 4: new org.springframework.scheduling.support.ScheduledMethodRunnable
dup
aload 1
aload 3
invokespecial org.springframework.scheduling.support.ScheduledMethodRunnable.<init>:(Ljava/lang/Object;Ljava/lang/reflect/Method;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
0 5 1 target Ljava/lang/Object;
0 5 2 method Ljava/lang/reflect/Method;
4 5 3 invocableMethod Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
target
method
private static long parseDelayAsLong(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
iconst_1
if_icmple 2
aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokestatic org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.isP:(C)Z
ifne 1
aload 0
iconst_1
invokevirtual java.lang.String.charAt:(I)C
invokestatic org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.isP:(C)Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
invokestatic java.time.Duration.parse:(Ljava/lang/CharSequence;)Ljava/time/Duration;
invokevirtual java.time.Duration.toMillis:()J
lreturn
2: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 value Ljava/lang/String;
Exceptions:
throws java.lang.RuntimeException
MethodParameters:
Name Flags
value
private static boolean isP(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 80
if_icmpeq 1
iload 0
bipush 112
if_icmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 ch C
MethodParameters:
Name Flags
ch
public java.util.Set<org.springframework.scheduling.config.ScheduledTask> getScheduledTasks();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.scheduledTasks:Ljava/util/Map;
dup
astore 2
monitorenter
2: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.scheduledTasks:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
astore 3
start local 3 3: aload 3
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor java.util.Set java.util.Map java.util.Collection top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Set
astore 4
start local 4 5: aload 1
aload 4
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
end local 4 6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 3 7: aload 2
monitorexit
8: goto 11
StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor java.util.Set java.util.Map
StackMap stack: java.lang.Throwable
9: aload 2
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.registrar:Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
invokevirtual org.springframework.scheduling.config.ScheduledTaskRegistrar.getScheduledTasks:()Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
12: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
1 13 1 result Ljava/util/Set<Lorg/springframework/scheduling/config/ScheduledTask;>;
3 7 3 allTasks Ljava/util/Collection<Ljava/util/Set<Lorg/springframework/scheduling/config/ScheduledTask;>;>;
5 6 4 tasks Ljava/util/Set<Lorg/springframework/scheduling/config/ScheduledTask;>;
Exception table:
from to target type
2 8 9 any
9 10 9 any
Signature: ()Ljava/util/Set<Lorg/springframework/scheduling/config/ScheduledTask;>;
public void postProcessBeforeDestruction(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.scheduledTasks:Ljava/util/Map;
dup
astore 4
monitorenter
1: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.scheduledTasks:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 3
start local 3 2: aload 4
monitorexit
3: goto 6
end local 3 StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor java.lang.Object java.lang.String top java.util.Map
StackMap stack: java.lang.Throwable
4: aload 4
monitorexit
5: athrow
start local 3 6: StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor java.lang.Object java.lang.String java.util.Set
StackMap stack:
aload 3
ifnull 11
7: aload 3
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 10
StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor java.lang.Object java.lang.String java.util.Set top java.util.Iterator
StackMap stack:
8: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.scheduling.config.ScheduledTask
astore 4
start local 4 9: aload 4
invokevirtual org.springframework.scheduling.config.ScheduledTask.cancel:()V
end local 4 10: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
11: StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor java.lang.Object java.lang.String java.util.Set
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
0 12 1 bean Ljava/lang/Object;
0 12 2 beanName Ljava/lang/String;
2 4 3 tasks Ljava/util/Set<Lorg/springframework/scheduling/config/ScheduledTask;>;
6 12 3 tasks Ljava/util/Set<Lorg/springframework/scheduling/config/ScheduledTask;>;
9 10 4 task Lorg/springframework/scheduling/config/ScheduledTask;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
bean
beanName
public boolean requiresDestruction(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.scheduledTasks:Ljava/util/Map;
dup
astore 2
monitorenter
1: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.scheduledTasks:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
aload 2
monitorexit
2: ireturn
3: StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor java.lang.Object java.util.Map
StackMap stack: java.lang.Throwable
aload 2
monitorexit
4: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
0 5 1 bean Ljava/lang/Object;
Exception table:
from to target type
1 2 3 any
3 4 3 any
MethodParameters:
Name Flags
bean
public void destroy();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=1
start local 0 0: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.scheduledTasks:Ljava/util/Map;
dup
astore 1
monitorenter
1: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.scheduledTasks:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
astore 2
start local 2 2: aload 2
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor java.util.Map java.util.Collection top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Set
astore 3
start local 3 4: aload 3
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 7
StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor java.util.Map java.util.Collection java.util.Set java.util.Iterator top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.scheduling.config.ScheduledTask
astore 5
start local 5 6: aload 5
invokevirtual org.springframework.scheduling.config.ScheduledTask.cancel:()V
end local 5 7: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 3 8: StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor java.util.Map java.util.Collection top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
9: aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.scheduledTasks:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
end local 2 10: aload 1
monitorexit
11: goto 14
StackMap locals: org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor java.util.Map
StackMap stack: java.lang.Throwable
12: aload 1
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.registrar:Lorg/springframework/scheduling/config/ScheduledTaskRegistrar;
invokevirtual org.springframework.scheduling.config.ScheduledTaskRegistrar.destroy:()V
15: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
2 10 2 allTasks Ljava/util/Collection<Ljava/util/Set<Lorg/springframework/scheduling/config/ScheduledTask;>;>;
4 8 3 tasks Ljava/util/Set<Lorg/springframework/scheduling/config/ScheduledTask;>;
6 7 5 task Lorg/springframework/scheduling/config/ScheduledTask;
Exception table:
from to target type
1 11 12 any
12 13 12 any
public void onApplicationEvent(org.springframework.context.ApplicationEvent);
descriptor: (Lorg/springframework/context/ApplicationEvent;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast org.springframework.context.event.ContextRefreshedEvent
invokevirtual org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.onApplicationEvent:(Lorg/springframework/context/event/ContextRefreshedEvent;)V
return
LocalVariableTable:
Start End Slot Name Signature
private static java.util.Set lambda$0(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Ljava/util/Set;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ldc Lorg/springframework/scheduling/annotation/Scheduled;
ldc Lorg/springframework/scheduling/annotation/Schedules;
1: invokestatic org.springframework.core.annotation.AnnotatedElementUtils.getMergedRepeatableAnnotations:(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Set;
astore 1
start local 1 2: aload 1
invokeinterface java.util.Set.isEmpty:()Z
ifne 3
aload 1
goto 4
StackMap locals: java.util.Set
StackMap stack:
3: aconst_null
StackMap locals:
StackMap stack: java.util.Set
4: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 method Ljava/lang/reflect/Method;
2 5 1 scheduledMethods Ljava/util/Set<Lorg/springframework/scheduling/annotation/Scheduled;>;
private void lambda$1(java.lang.Object, java.lang.reflect.Method, java.util.Set);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/util/Set;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 3
aload 0
aload 2
aload 1
invokedynamic accept(Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;Ljava/lang/reflect/Method;Ljava/lang/Object;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor.lambda$2(Ljava/lang/reflect/Method;Ljava/lang/Object;Lorg/springframework/scheduling/annotation/Scheduled;)V (7)
(Lorg/springframework/scheduling/annotation/Scheduled;)V
invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
0 1 2 method Ljava/lang/reflect/Method;
0 1 3 scheduledMethods Ljava/util/Set<Lorg/springframework/scheduling/annotation/Scheduled;>;
private static java.util.Set lambda$3(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/util/Set;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.util.LinkedHashSet
dup
iconst_4
invokespecial java.util.LinkedHashSet.<init>:(I)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Ljava/lang/Object;
private void lambda$2(java.lang.reflect.Method, java.lang.Object, org.springframework.scheduling.annotation.Scheduled);
descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Object;Lorg/springframework/scheduling/annotation/Scheduled;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 3 0: aload 0
aload 3
aload 1
aload 2
invokevirtual org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.processScheduled:(Lorg/springframework/scheduling/annotation/Scheduled;Ljava/lang/reflect/Method;Ljava/lang/Object;)V
return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor;
0 1 3 scheduled Lorg/springframework/scheduling/annotation/Scheduled;
}
Signature: Ljava/lang/Object;Lorg/springframework/scheduling/config/ScheduledTaskHolder;Lorg/springframework/beans/factory/support/MergedBeanDefinitionPostProcessor;Lorg/springframework/beans/factory/config/DestructionAwareBeanPostProcessor;Lorg/springframework/core/Ordered;Lorg/springframework/context/EmbeddedValueResolverAware;Lorg/springframework/beans/factory/BeanNameAware;Lorg/springframework/beans/factory/BeanFactoryAware;Lorg/springframework/context/ApplicationContextAware;Lorg/springframework/beans/factory/SmartInitializingSingleton;Lorg/springframework/context/ApplicationListener<Lorg/springframework/context/event/ContextRefreshedEvent;>;Lorg/springframework/beans/factory/DisposableBean;
SourceFile: "ScheduledAnnotationBeanPostProcessor.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract MetadataLookup = org.springframework.core.MethodIntrospector$MetadataLookup of org.springframework.core.MethodIntrospector