public class org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean extends org.springframework.scheduling.concurrent.ExecutorConfigurationSupport implements org.springframework.beans.factory.FactoryBean<java.util.concurrent.ExecutorService>, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean
super_class: org.springframework.scheduling.concurrent.ExecutorConfigurationSupport
{
private int corePoolSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int maxPoolSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int keepAliveSeconds;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean allowCoreThreadTimeOut;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int queueCapacity;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean exposeUnconfigurableExecutor;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.ExecutorService exposedExecutor;
descriptor: Ljava/util/concurrent/ExecutorService;
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.scheduling.concurrent.ExecutorConfigurationSupport.<init>:()V
1: aload 0
iconst_1
putfield org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.corePoolSize:I
2: aload 0
ldc 2147483647
putfield org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.maxPoolSize:I
3: aload 0
bipush 60
putfield org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.keepAliveSeconds:I
4: aload 0
iconst_0
putfield org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.allowCoreThreadTimeOut:Z
5: aload 0
ldc 2147483647
putfield org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.queueCapacity:I
6: aload 0
iconst_0
putfield org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.exposeUnconfigurableExecutor:Z
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/scheduling/concurrent/ThreadPoolExecutorFactoryBean;
public void setCorePoolSize(int);
descriptor: (I)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.scheduling.concurrent.ThreadPoolExecutorFactoryBean.corePoolSize:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/scheduling/concurrent/ThreadPoolExecutorFactoryBean;
0 2 1 corePoolSize I
MethodParameters:
Name Flags
corePoolSize
public void setMaxPoolSize(int);
descriptor: (I)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.scheduling.concurrent.ThreadPoolExecutorFactoryBean.maxPoolSize:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/scheduling/concurrent/ThreadPoolExecutorFactoryBean;
0 2 1 maxPoolSize I
MethodParameters:
Name Flags
maxPoolSize
public void setKeepAliveSeconds(int);
descriptor: (I)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.scheduling.concurrent.ThreadPoolExecutorFactoryBean.keepAliveSeconds:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/scheduling/concurrent/ThreadPoolExecutorFactoryBean;
0 2 1 keepAliveSeconds I
MethodParameters:
Name Flags
keepAliveSeconds
public void setAllowCoreThreadTimeOut(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.scheduling.concurrent.ThreadPoolExecutorFactoryBean.allowCoreThreadTimeOut:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/scheduling/concurrent/ThreadPoolExecutorFactoryBean;
0 2 1 allowCoreThreadTimeOut Z
MethodParameters:
Name Flags
allowCoreThreadTimeOut
public void setQueueCapacity(int);
descriptor: (I)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.scheduling.concurrent.ThreadPoolExecutorFactoryBean.queueCapacity:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/scheduling/concurrent/ThreadPoolExecutorFactoryBean;
0 2 1 queueCapacity I
MethodParameters:
Name Flags
queueCapacity
public void setExposeUnconfigurableExecutor(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.scheduling.concurrent.ThreadPoolExecutorFactoryBean.exposeUnconfigurableExecutor:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/scheduling/concurrent/ThreadPoolExecutorFactoryBean;
0 2 1 exposeUnconfigurableExecutor Z
MethodParameters:
Name Flags
exposeUnconfigurableExecutor
protected java.util.concurrent.ExecutorService initializeExecutor(java.util.concurrent.ThreadFactory, java.util.concurrent.RejectedExecutionHandler);
descriptor: (Ljava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;)Ljava/util/concurrent/ExecutorService;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
getfield org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.queueCapacity:I
invokevirtual org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.createQueue:(I)Ljava/util/concurrent/BlockingQueue;
astore 3
start local 3 1: aload 0
aload 0
getfield org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.corePoolSize:I
aload 0
getfield org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.maxPoolSize:I
2: aload 0
getfield org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.keepAliveSeconds:I
aload 3
aload 1
aload 2
3: invokevirtual org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.createExecutor:(IIILjava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;)Ljava/util/concurrent/ThreadPoolExecutor;
astore 4
start local 4 4: aload 0
getfield org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.allowCoreThreadTimeOut:Z
ifeq 6
5: aload 4
iconst_1
invokevirtual java.util.concurrent.ThreadPoolExecutor.allowCoreThreadTimeOut:(Z)V
6: StackMap locals: java.util.concurrent.BlockingQueue java.util.concurrent.ThreadPoolExecutor
StackMap stack:
aload 0
aload 0
getfield org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.exposeUnconfigurableExecutor:Z
ifeq 8
7: aload 4
invokestatic java.util.concurrent.Executors.unconfigurableExecutorService:(Ljava/util/concurrent/ExecutorService;)Ljava/util/concurrent/ExecutorService;
goto 9
StackMap locals:
StackMap stack: org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean
8: aload 4
9: StackMap locals: org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean java.util.concurrent.ThreadFactory java.util.concurrent.RejectedExecutionHandler java.util.concurrent.BlockingQueue java.util.concurrent.ThreadPoolExecutor
StackMap stack: org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean java.util.concurrent.ExecutorService
putfield org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.exposedExecutor:Ljava/util/concurrent/ExecutorService;
10: aload 4
areturn
end local 4 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/concurrent/ThreadPoolExecutorFactoryBean;
0 11 1 threadFactory Ljava/util/concurrent/ThreadFactory;
0 11 2 rejectedExecutionHandler Ljava/util/concurrent/RejectedExecutionHandler;
1 11 3 queue Ljava/util/concurrent/BlockingQueue<Ljava/lang/Runnable;>;
4 11 4 executor Ljava/util/concurrent/ThreadPoolExecutor;
MethodParameters:
Name Flags
threadFactory
rejectedExecutionHandler
protected java.util.concurrent.ThreadPoolExecutor createExecutor(int, int, int, java.util.concurrent.BlockingQueue<java.lang.Runnable>, java.util.concurrent.ThreadFactory, java.util.concurrent.RejectedExecutionHandler);
descriptor: (IIILjava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;)Ljava/util/concurrent/ThreadPoolExecutor;
flags: (0x0004) ACC_PROTECTED
Code:
stack=10, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: new java.util.concurrent.ThreadPoolExecutor
dup
iload 1
iload 2
1: iload 3
i2l
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
aload 4
aload 5
aload 6
2: invokespecial java.util.concurrent.ThreadPoolExecutor.<init>:(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;)V
areturn
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 3 0 this Lorg/springframework/scheduling/concurrent/ThreadPoolExecutorFactoryBean;
0 3 1 corePoolSize I
0 3 2 maxPoolSize I
0 3 3 keepAliveSeconds I
0 3 4 queue Ljava/util/concurrent/BlockingQueue<Ljava/lang/Runnable;>;
0 3 5 threadFactory Ljava/util/concurrent/ThreadFactory;
0 3 6 rejectedExecutionHandler Ljava/util/concurrent/RejectedExecutionHandler;
Signature: (IIILjava/util/concurrent/BlockingQueue<Ljava/lang/Runnable;>;Ljava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;)Ljava/util/concurrent/ThreadPoolExecutor;
MethodParameters:
Name Flags
corePoolSize
maxPoolSize
keepAliveSeconds
queue
threadFactory
rejectedExecutionHandler
protected java.util.concurrent.BlockingQueue<java.lang.Runnable> createQueue(int);
descriptor: (I)Ljava/util/concurrent/BlockingQueue;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifle 2
1: new java.util.concurrent.LinkedBlockingQueue
dup
iload 1
invokespecial java.util.concurrent.LinkedBlockingQueue.<init>:(I)V
areturn
2: StackMap locals:
StackMap stack:
new java.util.concurrent.SynchronousQueue
dup
invokespecial java.util.concurrent.SynchronousQueue.<init>:()V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/scheduling/concurrent/ThreadPoolExecutorFactoryBean;
0 3 1 queueCapacity I
Signature: (I)Ljava/util/concurrent/BlockingQueue<Ljava/lang/Runnable;>;
MethodParameters:
Name Flags
queueCapacity
public java.util.concurrent.ExecutorService getObject();
descriptor: ()Ljava/util/concurrent/ExecutorService;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.exposedExecutor:Ljava/util/concurrent/ExecutorService;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/scheduling/concurrent/ThreadPoolExecutorFactoryBean;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public java.lang.Class<? extends java.util.concurrent.ExecutorService> getObjectType();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.exposedExecutor:Ljava/util/concurrent/ExecutorService;
ifnull 1
aload 0
getfield org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.exposedExecutor:Ljava/util/concurrent/ExecutorService;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
goto 2
StackMap locals:
StackMap stack:
1: ldc Ljava/util/concurrent/ExecutorService;
StackMap locals:
StackMap stack: java.lang.Class
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/scheduling/concurrent/ThreadPoolExecutorFactoryBean;
Signature: ()Ljava/lang/Class<+Ljava/util/concurrent/ExecutorService;>;
public boolean isSingleton();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/scheduling/concurrent/ThreadPoolExecutorFactoryBean;
public java.lang.Object getObject();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.springframework.scheduling.concurrent.ThreadPoolExecutorFactoryBean.getObject:()Ljava/util/concurrent/ExecutorService;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
}
Signature: Lorg/springframework/scheduling/concurrent/ExecutorConfigurationSupport;Lorg/springframework/beans/factory/FactoryBean<Ljava/util/concurrent/ExecutorService;>;Lorg/springframework/beans/factory/InitializingBean;Lorg/springframework/beans/factory/DisposableBean;
SourceFile: "ThreadPoolExecutorFactoryBean.java"