class org.ehcache.impl.internal.executor.PartitionedScheduledExecutor extends java.util.concurrent.AbstractExecutorService implements java.util.concurrent.ScheduledExecutorService
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.ehcache.impl.internal.executor.PartitionedScheduledExecutor
super_class: java.util.concurrent.AbstractExecutorService
{
private final org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor scheduler;
descriptor: Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.ExecutorService worker;
descriptor: Ljava/util/concurrent/ExecutorService;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile boolean shutdown;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.util.concurrent.Future<java.util.List<java.lang.Runnable>> termination;
descriptor: Ljava/util/concurrent/Future;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/concurrent/Future<Ljava/util/List<Ljava/lang/Runnable;>;>;
void <init>(org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor, java.util.concurrent.ExecutorService);
descriptor: (Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;Ljava/util/concurrent/ExecutorService;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.util.concurrent.AbstractExecutorService.<init>:()V
1: aload 0
aload 1
putfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.scheduler:Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
2: aload 0
aload 2
putfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.worker:Ljava/util/concurrent/ExecutorService;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/ehcache/impl/internal/executor/PartitionedScheduledExecutor;
0 4 1 scheduler Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
0 4 2 worker Ljava/util/concurrent/ExecutorService;
MethodParameters:
Name Flags
scheduler
worker
public java.util.concurrent.ScheduledFuture<?> schedule(java.lang.Runnable, long, java.util.concurrent.TimeUnit);
descriptor: (Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.shutdown:Z
ifeq 2
1: new java.util.concurrent.RejectedExecutionException
dup
invokespecial java.util.concurrent.RejectedExecutionException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.scheduler:Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.worker:Ljava/util/concurrent/ExecutorService;
aload 1
lload 2
aload 4
invokevirtual org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.schedule:(Ljava/util/concurrent/ExecutorService;Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
astore 5
start local 5 3: aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.shutdown:Z
ifeq 5
aload 5
iconst_0
invokeinterface java.util.concurrent.ScheduledFuture.cancel:(Z)Z
ifeq 5
4: new java.util.concurrent.RejectedExecutionException
dup
invokespecial java.util.concurrent.RejectedExecutionException.<init>:()V
athrow
5: StackMap locals: java.util.concurrent.ScheduledFuture
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/ehcache/impl/internal/executor/PartitionedScheduledExecutor;
0 6 1 command Ljava/lang/Runnable;
0 6 2 delay J
0 6 4 unit Ljava/util/concurrent/TimeUnit;
3 6 5 scheduled Ljava/util/concurrent/ScheduledFuture<*>;
Signature: (Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture<*>;
MethodParameters:
Name Flags
command final
delay
unit
public <V> java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V>, long, java.util.concurrent.TimeUnit);
descriptor: (Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.shutdown:Z
ifeq 2
1: new java.util.concurrent.RejectedExecutionException
dup
invokespecial java.util.concurrent.RejectedExecutionException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.scheduler:Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.worker:Ljava/util/concurrent/ExecutorService;
aload 1
lload 2
aload 4
invokevirtual org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.schedule:(Ljava/util/concurrent/ExecutorService;Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
astore 5
start local 5 3: aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.shutdown:Z
ifeq 5
aload 5
iconst_0
invokeinterface java.util.concurrent.ScheduledFuture.cancel:(Z)Z
ifeq 5
4: new java.util.concurrent.RejectedExecutionException
dup
invokespecial java.util.concurrent.RejectedExecutionException.<init>:()V
athrow
5: StackMap locals: java.util.concurrent.ScheduledFuture
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/ehcache/impl/internal/executor/PartitionedScheduledExecutor;
0 6 1 callable Ljava/util/concurrent/Callable<TV;>;
0 6 2 delay J
0 6 4 unit Ljava/util/concurrent/TimeUnit;
3 6 5 scheduled Ljava/util/concurrent/ScheduledFuture<TV;>;
Signature: <V:Ljava/lang/Object;>(Ljava/util/concurrent/Callable<TV;>;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture<TV;>;
MethodParameters:
Name Flags
callable
delay
unit
public java.util.concurrent.ScheduledFuture<?> scheduleAtFixedRate(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
descriptor: (Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 6 0: aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.shutdown:Z
ifeq 2
1: new java.util.concurrent.RejectedExecutionException
dup
invokespecial java.util.concurrent.RejectedExecutionException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.scheduler:Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.worker:Ljava/util/concurrent/ExecutorService;
aload 1
lload 2
lload 4
aload 6
invokevirtual org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.scheduleAtFixedRate:(Ljava/util/concurrent/ExecutorService;Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
astore 7
start local 7 3: aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.shutdown:Z
ifeq 5
aload 7
iconst_0
invokeinterface java.util.concurrent.ScheduledFuture.cancel:(Z)Z
ifeq 5
4: new java.util.concurrent.RejectedExecutionException
dup
invokespecial java.util.concurrent.RejectedExecutionException.<init>:()V
athrow
5: StackMap locals: java.util.concurrent.ScheduledFuture
StackMap stack:
aload 7
areturn
end local 7 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/ehcache/impl/internal/executor/PartitionedScheduledExecutor;
0 6 1 command Ljava/lang/Runnable;
0 6 2 initialDelay J
0 6 4 period J
0 6 6 unit Ljava/util/concurrent/TimeUnit;
3 6 7 scheduled Ljava/util/concurrent/ScheduledFuture<*>;
Signature: (Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture<*>;
MethodParameters:
Name Flags
command
initialDelay
period
unit
public java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit);
descriptor: (Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 6 0: aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.shutdown:Z
ifeq 2
1: new java.util.concurrent.RejectedExecutionException
dup
invokespecial java.util.concurrent.RejectedExecutionException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.scheduler:Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.worker:Ljava/util/concurrent/ExecutorService;
aload 1
lload 2
lload 4
aload 6
invokevirtual org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.scheduleWithFixedDelay:(Ljava/util/concurrent/ExecutorService;Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
astore 7
start local 7 3: aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.shutdown:Z
ifeq 5
aload 7
iconst_0
invokeinterface java.util.concurrent.ScheduledFuture.cancel:(Z)Z
ifeq 5
4: new java.util.concurrent.RejectedExecutionException
dup
invokespecial java.util.concurrent.RejectedExecutionException.<init>:()V
athrow
5: StackMap locals: java.util.concurrent.ScheduledFuture
StackMap stack:
aload 7
areturn
end local 7 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/ehcache/impl/internal/executor/PartitionedScheduledExecutor;
0 6 1 command Ljava/lang/Runnable;
0 6 2 initialDelay J
0 6 4 delay J
0 6 6 unit Ljava/util/concurrent/TimeUnit;
3 6 7 scheduled Ljava/util/concurrent/ScheduledFuture<*>;
Signature: (Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture<*>;
MethodParameters:
Name Flags
command
initialDelay
delay
unit
public void shutdown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=2, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.shutdown:Z
1: aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.scheduler:Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
aconst_null
aload 0
invokedynamic call(Lorg/ehcache/impl/internal/executor/PartitionedScheduledExecutor;)Ljava/util/concurrent/Callable;
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;
org/ehcache/impl/internal/executor/PartitionedScheduledExecutor.getMaxDelay()J (7)
()Ljava/lang/Long;
lconst_0
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.schedule:(Ljava/util/concurrent/ExecutorService;Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
invokestatic org.ehcache.impl.internal.executor.ExecutorUtil.waitFor:(Ljava/util/concurrent/Future;)Ljava/lang/Object;
checkcast java.lang.Long
astore 1
start local 1 2: aload 0
aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.scheduler:Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.worker:Ljava/util/concurrent/ExecutorService;
aload 0
invokedynamic call(Lorg/ehcache/impl/internal/executor/PartitionedScheduledExecutor;)Ljava/util/concurrent/Callable;
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;
org/ehcache/impl/internal/executor/PartitionedScheduledExecutor.lambda$1()Ljava/util/List; (7)
()Ljava/util/List;
3: aload 1
invokevirtual java.lang.Long.longValue:()J
lconst_1
ladd
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
4: invokevirtual org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.schedule:(Ljava/util/concurrent/ExecutorService;Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
putfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.termination:Ljava/util/concurrent/Future;
end local 1 5: goto 8
StackMap locals:
StackMap stack: java.util.concurrent.ExecutionException
6: astore 1
start local 1 7: new java.lang.RuntimeException
dup
aload 1
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/ehcache/impl/internal/executor/PartitionedScheduledExecutor;
2 5 1 longestDelay Ljava/lang/Long;
7 8 1 e Ljava/util/concurrent/ExecutionException;
Exception table:
from to target type
1 5 6 Class java.util.concurrent.ExecutionException
private long getMaxDelay();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.scheduler:Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
invokevirtual org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.getQueue:()Ljava/util/concurrent/BlockingQueue;
invokeinterface java.util.concurrent.BlockingQueue.iterator:()Ljava/util/Iterator;
astore 3
start local 3 2: goto 12
3: StackMap locals: long java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Runnable
astore 4
start local 4 4: aload 4
instanceof org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$OutOfBandRsf
ifeq 12
5: aload 4
checkcast org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$OutOfBandRsf
astore 5
start local 5 6: aload 5
invokevirtual org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$OutOfBandRsf.getExecutor:()Ljava/util/concurrent/ExecutorService;
aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.worker:Ljava/util/concurrent/ExecutorService;
if_acmpne 12
7: aload 5
invokevirtual org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$OutOfBandRsf.isPeriodic:()Z
ifeq 11
8: aload 5
iconst_0
invokevirtual org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$OutOfBandRsf.cancel:(Z)Z
pop
9: aload 3
invokeinterface java.util.Iterator.remove:()V
10: goto 12
11: StackMap locals: java.lang.Runnable org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$OutOfBandRsf
StackMap stack:
lload 1
aload 5
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$OutOfBandRsf.getDelay:(Ljava/util/concurrent/TimeUnit;)J
invokestatic java.lang.Math.max:(JJ)J
lstore 1
end local 5 end local 4 12: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 3 13: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/ehcache/impl/internal/executor/PartitionedScheduledExecutor;
1 14 1 maxDelay J
2 13 3 it Ljava/util/Iterator<Ljava/lang/Runnable;>;
4 12 4 job Ljava/lang/Runnable;
6 12 5 oobJob Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor$OutOfBandRsf<*>;
public java.util.List<java.lang.Runnable> shutdownNow();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.shutdown:Z
1: aload 0
aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.scheduler:Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
aconst_null
aload 0
invokedynamic call(Lorg/ehcache/impl/internal/executor/PartitionedScheduledExecutor;)Ljava/util/concurrent/Callable;
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;
org/ehcache/impl/internal/executor/PartitionedScheduledExecutor.abortTasks()Ljava/util/List; (7)
()Ljava/util/List;
lconst_0
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.schedule:(Ljava/util/concurrent/ExecutorService;Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
putfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.termination:Ljava/util/concurrent/Future;
2: aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.termination:Ljava/util/concurrent/Future;
invokestatic org.ehcache.impl.internal.executor.ExecutorUtil.waitFor:(Ljava/util/concurrent/Future;)Ljava/lang/Object;
checkcast java.util.List
3: areturn
4: StackMap locals:
StackMap stack: java.util.concurrent.ExecutionException
astore 1
start local 1 5: new java.lang.RuntimeException
dup
aload 1
invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/ehcache/impl/internal/executor/PartitionedScheduledExecutor;
5 6 1 e Ljava/util/concurrent/ExecutionException;
Exception table:
from to target type
1 3 4 Class java.util.concurrent.ExecutionException
Signature: ()Ljava/util/List<Ljava/lang/Runnable;>;
private java.util.List<java.lang.Runnable> abortTasks();
descriptor: ()Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.scheduler:Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor;
invokevirtual org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor.getQueue:()Ljava/util/concurrent/BlockingQueue;
invokeinterface java.util.concurrent.BlockingQueue.iterator:()Ljava/util/Iterator;
astore 2
start local 2 2: goto 9
3: StackMap locals: java.util.List java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Runnable
astore 3
start local 3 4: aload 3
instanceof org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$OutOfBandRsf
ifeq 9
5: aload 3
checkcast org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$OutOfBandRsf
astore 4
start local 4 6: aload 4
invokevirtual org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$OutOfBandRsf.getExecutor:()Ljava/util/concurrent/ExecutorService;
aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.worker:Ljava/util/concurrent/ExecutorService;
if_acmpne 9
7: aload 1
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: aload 2
invokeinterface java.util.Iterator.remove:()V
end local 4 end local 3 9: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 2 10: aload 1
aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.worker:Ljava/util/concurrent/ExecutorService;
invokeinterface java.util.concurrent.ExecutorService.shutdownNow:()Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
11: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/ehcache/impl/internal/executor/PartitionedScheduledExecutor;
1 12 1 abortedTasks Ljava/util/List<Ljava/lang/Runnable;>;
2 10 2 it Ljava/util/Iterator<Ljava/lang/Runnable;>;
4 9 3 job Ljava/lang/Runnable;
6 9 4 oobJob Lorg/ehcache/impl/internal/executor/OutOfBandScheduledExecutor$OutOfBandRsf<*>;
Signature: ()Ljava/util/List<Ljava/lang/Runnable;>;
public boolean isShutdown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.shutdown:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/ehcache/impl/internal/executor/PartitionedScheduledExecutor;
public boolean isTerminated();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.isShutdown:()Z
ifeq 3
1: aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.termination:Ljava/util/concurrent/Future;
invokeinterface java.util.concurrent.Future.isDone:()Z
ifeq 2
aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.worker:Ljava/util/concurrent/ExecutorService;
invokeinterface java.util.concurrent.ExecutorService.isTerminated:()Z
ifeq 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/ehcache/impl/internal/executor/PartitionedScheduledExecutor;
public boolean awaitTermination(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokevirtual org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.isShutdown:()Z
ifeq 11
1: aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.termination:Ljava/util/concurrent/Future;
invokeinterface java.util.concurrent.Future.isDone:()Z
ifeq 3
2: aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.worker:Ljava/util/concurrent/ExecutorService;
lload 1
aload 3
invokeinterface java.util.concurrent.ExecutorService.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
ireturn
3: StackMap locals:
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
ladd
lstore 4
start local 4 4: aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.termination:Ljava/util/concurrent/Future;
lload 1
aload 3
invokeinterface java.util.concurrent.Future.get:(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
pop
5: goto 10
StackMap locals: org.ehcache.impl.internal.executor.PartitionedScheduledExecutor long java.util.concurrent.TimeUnit long
StackMap stack: java.util.concurrent.ExecutionException
6: astore 6
start local 6 7: new java.lang.RuntimeException
dup
aload 6
invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 8: StackMap locals:
StackMap stack: java.util.concurrent.TimeoutException
pop
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack:
aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.worker:Ljava/util/concurrent/ExecutorService;
lload 4
invokestatic java.lang.System.nanoTime:()J
lsub
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface java.util.concurrent.ExecutorService.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
ireturn
end local 4 11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/ehcache/impl/internal/executor/PartitionedScheduledExecutor;
0 12 1 time J
0 12 3 unit Ljava/util/concurrent/TimeUnit;
4 11 4 end J
7 8 6 e Ljava/util/concurrent/ExecutionException;
Exception table:
from to target type
4 5 6 Class java.util.concurrent.ExecutionException
4 5 8 Class java.util.concurrent.TimeoutException
Exceptions:
throws java.lang.InterruptedException
MethodParameters:
Name Flags
time
unit
public void execute(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
lconst_0
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/ehcache/impl/internal/executor/PartitionedScheduledExecutor;
0 2 1 runnable Ljava/lang/Runnable;
MethodParameters:
Name Flags
runnable
private java.util.List lambda$1();
descriptor: ()Ljava/util/List;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.ehcache.impl.internal.executor.PartitionedScheduledExecutor.worker:Ljava/util/concurrent/ExecutorService;
invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
1: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/ehcache/impl/internal/executor/PartitionedScheduledExecutor;
Exceptions:
throws java.lang.Exception
}
SourceFile: "PartitionedScheduledExecutor.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
OutOfBandRsf = org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor$OutOfBandRsf of org.ehcache.impl.internal.executor.OutOfBandScheduledExecutor