public class org.ehcache.impl.internal.executor.ExecutorUtil
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.ehcache.impl.internal.executor.ExecutorUtil
super_class: java.lang.Object
{
private static final org.slf4j.Logger LOGGER;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/ehcache/impl/internal/executor/ExecutorUtil;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.ehcache.impl.internal.executor.ExecutorUtil.LOGGER:Lorg/slf4j/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/ehcache/impl/internal/executor/ExecutorUtil;
public static void shutdown(java.util.concurrent.ExecutorService);
descriptor: (Ljava/util/concurrent/ExecutorService;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
1: aload 0
invokestatic org.ehcache.impl.internal.executor.ExecutorUtil.terminate:(Ljava/util/concurrent/ExecutorService;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 executor Ljava/util/concurrent/ExecutorService;
MethodParameters:
Name Flags
executor
public static void shutdownNow(java.util.concurrent.ExecutorService);
descriptor: (Ljava/util/concurrent/ExecutorService;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokeinterface java.util.concurrent.ExecutorService.shutdownNow:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 7
StackMap locals: java.util.concurrent.ExecutorService top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Runnable
astore 1
start local 1 2: aload 1
instanceof java.util.concurrent.FutureTask
ifeq 3
aload 1
checkcast java.util.concurrent.FutureTask
invokevirtual java.util.concurrent.FutureTask.isCancelled:()Z
ifne 7
3: StackMap locals: java.util.concurrent.ExecutorService java.lang.Runnable java.util.Iterator
StackMap stack:
aload 1
invokeinterface java.lang.Runnable.run:()V
4: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 3
start local 3 6: getstatic org.ehcache.impl.internal.executor.ExecutorUtil.LOGGER:Lorg/slf4j/Logger;
ldc "Exception executing task left in {}: {}"
aload 0
aload 3
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 3 end local 1 7: StackMap locals: java.util.concurrent.ExecutorService top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
8: aload 0
invokestatic org.ehcache.impl.internal.executor.ExecutorUtil.terminate:(Ljava/util/concurrent/ExecutorService;)V
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 executor Ljava/util/concurrent/ExecutorService;
2 7 1 r Ljava/lang/Runnable;
6 7 3 t Ljava/lang/Throwable;
Exception table:
from to target type
3 4 5 Class java.lang.Throwable
MethodParameters:
Name Flags
executor
private static void terminate(java.util.concurrent.ExecutorService);
descriptor: (Ljava/util/concurrent/ExecutorService;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: StackMap locals: int
StackMap stack:
aload 0
ldc 30
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface java.util.concurrent.ExecutorService.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
ifeq 5
2: iload 1
ifeq 4
3: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
4: StackMap locals:
StackMap stack:
return
5: StackMap locals:
StackMap stack:
getstatic org.ehcache.impl.internal.executor.ExecutorUtil.LOGGER:Lorg/slf4j/Logger;
ldc "Still waiting for termination of {}"
aload 0
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;)V
6: goto 1
StackMap locals:
StackMap stack: java.lang.InterruptedException
7: pop
8: iconst_1
istore 1
9: goto 1
10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
11: iload 1
ifeq 13
12: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
13: StackMap locals: java.lang.Throwable
StackMap stack:
aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 executor Ljava/util/concurrent/ExecutorService;
1 14 1 interrupted Z
Exception table:
from to target type
1 2 7 Class java.lang.InterruptedException
5 6 7 Class java.lang.InterruptedException
1 2 10 any
5 10 10 any
MethodParameters:
Name Flags
executor
public static <T> T waitFor(java.util.concurrent.Future<T>);
descriptor: (Ljava/util/concurrent/Future;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: StackMap locals: int
StackMap stack:
aload 0
invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
astore 3
2: iload 1
ifeq 4
3: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
4: StackMap locals: java.util.concurrent.Future int top java.lang.Object
StackMap stack:
aload 3
areturn
5: StackMap locals: java.util.concurrent.Future int
StackMap stack: java.lang.InterruptedException
pop
6: iconst_1
istore 1
7: goto 1
8: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
9: iload 1
ifeq 11
10: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
11: StackMap locals: java.lang.Throwable
StackMap stack:
aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 future Ljava/util/concurrent/Future<TT;>;
1 12 1 interrupted Z
Exception table:
from to target type
1 2 5 Class java.lang.InterruptedException
1 2 8 any
5 8 8 any
Exceptions:
throws java.util.concurrent.ExecutionException
Signature: <T:Ljava/lang/Object;>(Ljava/util/concurrent/Future<TT;>;)TT;
MethodParameters:
Name Flags
future
}
SourceFile: "ExecutorUtil.java"