class com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask
super_class: java.lang.Object
{
boolean success;
descriptor: Z
flags: (0x0000)
final com.mchange.v2.resourcepool.BasicResourcePool this$0;
descriptor: Lcom/mchange/v2/resourcepool/BasicResourcePool;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(com.mchange.v2.resourcepool.BasicResourcePool);
descriptor: (Lcom/mchange/v2/resourcepool/BasicResourcePool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
1: aload 0
invokespecial java.lang.Object.<init>:()V
2: aload 0
iconst_0
putfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.success:Z
3: aload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.incrementPendingAcquires:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool$AcquireTask;
MethodParameters:
Name Flags
this$0 final
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aconst_null
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 27
5: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask int int java.lang.Exception int
StackMap stack:
iload 4
ifle 7
6: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
getfield com.mchange.v2.resourcepool.BasicResourcePool.acq_attempt_delay:I
i2l
invokestatic java.lang.Thread.sleep:(J)V
7: StackMap locals:
StackMap stack:
aload 0
iload 4
iconst_1
iadd
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.goodAttemptNumber:(I)Z
ifeq 11
8: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess:()V
9: iconst_1
istore 1
10: goto 14
11: StackMap locals:
StackMap stack:
iconst_1
istore 1
12: iconst_1
istore 2
13: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockAlways:()V
14: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.success:Z
15: goto 26
16: StackMap locals:
StackMap stack: java.lang.InterruptedException
astore 5
start local 5 17: aload 5
athrow
end local 5 18: StackMap locals:
StackMap stack: java.lang.Exception
astore 5
start local 5 19: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
getfield com.mchange.v2.resourcepool.BasicResourcePool.num_acq_attempts:I
ifle 20
getstatic com.mchange.v2.log.MLevel.FINE:Lcom/mchange/v2/log/MLevel;
goto 21
StackMap locals: java.lang.Exception
StackMap stack:
20: getstatic com.mchange.v2.log.MLevel.INFO:Lcom/mchange/v2/log/MLevel;
StackMap locals:
StackMap stack: com.mchange.v2.log.MLevel
21: astore 6
start local 6 22: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
aload 6
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 24
23: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
aload 6
ldc "An exception occurred while acquiring a poolable resource. Will retry."
aload 5
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
24: StackMap locals: com.mchange.v2.log.MLevel
StackMap stack:
aload 5
astore 3
25: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
aload 5
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.setLastAcquisitionFailure:(Ljava/lang/Throwable;)V
end local 6 end local 5 26: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
27: aload 0
iload 4
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.shouldTry:(I)Z
ifne 5
end local 4 28: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.success:Z
ifne 48
29: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 41
30: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
31: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " -- Acquisition Attempt Failed!!! Clearing pending acquires. "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
32: ldc "While trying to acquire a needed new resource, we failed "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
33: ldc "to succeed more than the maximum number of allowed "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
34: ldc "acquisition attempts ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
getfield com.mchange.v2.resourcepool.BasicResourcePool.num_acq_attempts:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "). "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
35: aload 3
ifnonnull 36
ldc ""
goto 37
StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask int int java.lang.Exception
StackMap stack: com.mchange.v2.log.MLogger com.mchange.v2.log.MLevel java.lang.StringBuilder
36: ldc "Last acquisition attempt exception: "
StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask int int java.lang.Exception
StackMap stack: com.mchange.v2.log.MLogger com.mchange.v2.log.MLevel java.lang.StringBuilder java.lang.String
37: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
38: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
39: aload 3
40: invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
41: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
getfield com.mchange.v2.resourcepool.BasicResourcePool.break_on_acquisition_failure:Z
ifeq 46
42: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.SEVERE:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 44
43: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
new java.lang.StringBuilder
dup
ldc "A RESOURCE POOL IS PERMANENTLY BROKEN! ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface com.mchange.v2.log.MLogger.severe:(Ljava/lang/String;)V
44: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.unexpectedBreak:()V
45: goto 75
46: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.forceKillAcquires:()V
47: goto 75
48: StackMap locals:
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.recheckResizePool:()V
end local 3 49: goto 75
50: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask int int
StackMap stack: com.mchange.v2.util.ResourceClosedException
astore 3
start local 3 51: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINE:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 53
52: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.FINE:Lcom/mchange/v2/log/MLevel;
ldc "a resource pool async thread died."
aload 3
invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
53: StackMap locals: com.mchange.v2.util.ResourceClosedException
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.unexpectedBreak:()V
end local 3 54: iload 1
ifne 56
55: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.decrementPendingAcquires:()V
56: StackMap locals:
StackMap stack:
iload 2
ifeq 79
57: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.recheckResizePool:()V
goto 79
58: StackMap locals:
StackMap stack: java.lang.InterruptedException
astore 3
start local 3 59: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
invokeinterface com.mchange.v2.log.MLogger.isLoggable:(Lcom/mchange/v2/log/MLevel;)Z
ifeq 64
60: getstatic com.mchange.v2.resourcepool.BasicResourcePool.logger:Lcom/mchange/v2/log/MLogger;
getstatic com.mchange.v2.log.MLevel.WARNING:Lcom/mchange/v2/log/MLevel;
61: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " -- Thread unexpectedly interrupted while performing an acquisition attempt."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
62: aload 3
63: invokeinterface com.mchange.v2.log.MLogger.log:(Lcom/mchange/v2/log/MLevel;Ljava/lang/String;Ljava/lang/Throwable;)V
64: StackMap locals: java.lang.InterruptedException
StackMap stack:
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.recheckResizePool:()V
end local 3 65: iload 1
ifne 67
66: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.decrementPendingAcquires:()V
67: StackMap locals:
StackMap stack:
iload 2
ifeq 79
68: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.recheckResizePool:()V
goto 79
69: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
70: iload 1
ifne 72
71: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.decrementPendingAcquires:()V
72: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask int int top top top top java.lang.Throwable
StackMap stack:
iload 2
ifeq 74
73: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.recheckResizePool:()V
74: StackMap locals:
StackMap stack:
aload 7
athrow
75: StackMap locals: com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask int int
StackMap stack:
iload 1
ifne 77
76: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.decrementPendingAcquires:()V
77: StackMap locals:
StackMap stack:
iload 2
ifeq 79
78: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.recheckResizePool:()V
79: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 80 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool$AcquireTask;
1 80 1 decremented Z
2 80 2 recheck Z
3 49 3 lastException Ljava/lang/Exception;
4 28 4 i I
17 18 5 e Ljava/lang/InterruptedException;
19 26 5 e Ljava/lang/Exception;
22 26 6 logLevel Lcom/mchange/v2/log/MLevel;
51 54 3 e Lcom/mchange/v2/util/ResourceClosedException;
59 65 3 e Ljava/lang/InterruptedException;
Exception table:
from to target type
5 15 16 Class java.lang.InterruptedException
5 15 18 Class java.lang.Exception
2 49 50 Class com.mchange.v2.util.ResourceClosedException
2 49 58 Class java.lang.InterruptedException
2 54 69 any
58 65 69 any
private boolean shouldTry(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.success:Z
ifne 4
1: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool.isForceKillAcquiresPending:()Z
ifne 4
2: aload 0
iload 1
invokevirtual com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.goodAttemptNumber:(I)Z
ifeq 4
3: iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool$AcquireTask;
0 5 1 attempt_num I
MethodParameters:
Name Flags
attempt_num
private boolean goodAttemptNumber(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
getfield com.mchange.v2.resourcepool.BasicResourcePool.num_acq_attempts:I
ifle 1
iload 1
aload 0
getfield com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.this$0:Lcom/mchange/v2/resourcepool/BasicResourcePool;
getfield com.mchange.v2.resourcepool.BasicResourcePool.num_acq_attempts:I
if_icmplt 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mchange/v2/resourcepool/BasicResourcePool$AcquireTask;
0 2 1 attempt_num I
MethodParameters:
Name Flags
attempt_num
}
SourceFile: "BasicResourcePool.java"
NestHost: com.mchange.v2.resourcepool.BasicResourcePool
InnerClasses:
AcquireTask = com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask of com.mchange.v2.resourcepool.BasicResourcePool