class org.postgresql.ds.PGPoolingDataSource$1 implements javax.sql.ConnectionEventListener
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.postgresql.ds.PGPoolingDataSource$1
super_class: java.lang.Object
{
final org.postgresql.ds.PGPoolingDataSource this$0;
descriptor: Lorg/postgresql/ds/PGPoolingDataSource;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(org.postgresql.ds.PGPoolingDataSource);
descriptor: (Lorg/postgresql/ds/PGPoolingDataSource;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // org.postgresql.ds.PGPoolingDataSource$1 this
0: .line 401
aload 0 /* this */
aload 1
putfield org.postgresql.ds.PGPoolingDataSource$1.this$0:Lorg/postgresql/ds/PGPoolingDataSource;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.postgresql.ds.PGPoolingDataSource$1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/postgresql/ds/PGPoolingDataSource$1;
MethodParameters:
Name Flags
this$0 final
public void connectionClosed(javax.sql.ConnectionEvent);
descriptor: (Ljavax/sql/ConnectionEvent;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 // org.postgresql.ds.PGPoolingDataSource$1 this
start local 1 // javax.sql.ConnectionEvent event
0: .line 403
aload 1 /* event */
invokevirtual javax.sql.ConnectionEvent.getSource:()Ljava/lang/Object;
checkcast javax.sql.PooledConnection
aload 0 /* this */
invokeinterface javax.sql.PooledConnection.removeConnectionEventListener:(Ljavax/sql/ConnectionEventListener;)V
1: .line 404
aload 0 /* this */
getfield org.postgresql.ds.PGPoolingDataSource$1.this$0:Lorg/postgresql/ds/PGPoolingDataSource;
getfield org.postgresql.ds.PGPoolingDataSource.lock:Ljava/lang/Object;
dup
astore 2
monitorenter
2: .line 405
aload 0 /* this */
getfield org.postgresql.ds.PGPoolingDataSource$1.this$0:Lorg/postgresql/ds/PGPoolingDataSource;
getfield org.postgresql.ds.PGPoolingDataSource.available:Ljava/util/Stack;
ifnonnull 5
3: .line 406
aload 2
monitorexit
4: return
5: .line 408
StackMap locals: java.lang.Object
StackMap stack:
aload 0 /* this */
getfield org.postgresql.ds.PGPoolingDataSource$1.this$0:Lorg/postgresql/ds/PGPoolingDataSource;
getfield org.postgresql.ds.PGPoolingDataSource.used:Ljava/util/Stack;
aload 1 /* event */
invokevirtual javax.sql.ConnectionEvent.getSource:()Ljava/lang/Object;
invokevirtual java.util.Stack.remove:(Ljava/lang/Object;)Z
istore 3 /* removed */
start local 3 // boolean removed
6: .line 409
iload 3 /* removed */
ifeq 9
7: .line 410
aload 0 /* this */
getfield org.postgresql.ds.PGPoolingDataSource$1.this$0:Lorg/postgresql/ds/PGPoolingDataSource;
getfield org.postgresql.ds.PGPoolingDataSource.available:Ljava/util/Stack;
aload 1 /* event */
invokevirtual javax.sql.ConnectionEvent.getSource:()Ljava/lang/Object;
checkcast javax.sql.PooledConnection
invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
pop
8: .line 412
aload 0 /* this */
getfield org.postgresql.ds.PGPoolingDataSource$1.this$0:Lorg/postgresql/ds/PGPoolingDataSource;
getfield org.postgresql.ds.PGPoolingDataSource.lock:Ljava/lang/Object;
invokevirtual java.lang.Object.notify:()V
end local 3 // boolean removed
9: .line 404
StackMap locals:
StackMap stack:
aload 2
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 2
monitorexit
12: athrow
13: .line 417
StackMap locals:
StackMap stack:
return
end local 1 // javax.sql.ConnectionEvent event
end local 0 // org.postgresql.ds.PGPoolingDataSource$1 this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/postgresql/ds/PGPoolingDataSource$1;
0 14 1 event Ljavax/sql/ConnectionEvent;
6 9 3 removed Z
Exception table:
from to target type
2 4 11 any
5 10 11 any
11 12 11 any
MethodParameters:
Name Flags
event
public void connectionErrorOccurred(javax.sql.ConnectionEvent);
descriptor: (Ljavax/sql/ConnectionEvent;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 // org.postgresql.ds.PGPoolingDataSource$1 this
start local 1 // javax.sql.ConnectionEvent event
0: .line 424
aload 1 /* event */
invokevirtual javax.sql.ConnectionEvent.getSource:()Ljava/lang/Object;
checkcast javax.sql.PooledConnection
aload 0 /* this */
invokeinterface javax.sql.PooledConnection.removeConnectionEventListener:(Ljavax/sql/ConnectionEventListener;)V
1: .line 425
aload 0 /* this */
getfield org.postgresql.ds.PGPoolingDataSource$1.this$0:Lorg/postgresql/ds/PGPoolingDataSource;
getfield org.postgresql.ds.PGPoolingDataSource.lock:Ljava/lang/Object;
dup
astore 2
monitorenter
2: .line 426
aload 0 /* this */
getfield org.postgresql.ds.PGPoolingDataSource$1.this$0:Lorg/postgresql/ds/PGPoolingDataSource;
getfield org.postgresql.ds.PGPoolingDataSource.available:Ljava/util/Stack;
ifnonnull 5
3: .line 427
aload 2
monitorexit
4: return
5: .line 429
StackMap locals: java.lang.Object
StackMap stack:
aload 0 /* this */
getfield org.postgresql.ds.PGPoolingDataSource$1.this$0:Lorg/postgresql/ds/PGPoolingDataSource;
getfield org.postgresql.ds.PGPoolingDataSource.used:Ljava/util/Stack;
aload 1 /* event */
invokevirtual javax.sql.ConnectionEvent.getSource:()Ljava/lang/Object;
invokevirtual java.util.Stack.remove:(Ljava/lang/Object;)Z
pop
6: .line 431
aload 0 /* this */
getfield org.postgresql.ds.PGPoolingDataSource$1.this$0:Lorg/postgresql/ds/PGPoolingDataSource;
getfield org.postgresql.ds.PGPoolingDataSource.lock:Ljava/lang/Object;
invokevirtual java.lang.Object.notify:()V
7: .line 425
aload 2
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 2
monitorexit
10: athrow
11: .line 433
StackMap locals:
StackMap stack:
return
end local 1 // javax.sql.ConnectionEvent event
end local 0 // org.postgresql.ds.PGPoolingDataSource$1 this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/postgresql/ds/PGPoolingDataSource$1;
0 12 1 event Ljavax/sql/ConnectionEvent;
Exception table:
from to target type
2 4 9 any
5 8 9 any
9 10 9 any
MethodParameters:
Name Flags
event
}
SourceFile: "PGPoolingDataSource.java"
EnclosingMethod: org.postgresql.ds.PGPoolingDataSource
NestHost: org.postgresql.ds.PGPoolingDataSource
InnerClasses:
org.postgresql.ds.PGPoolingDataSource$1