public class org.apache.commons.dbcp.PoolableConnection extends org.apache.commons.dbcp.DelegatingConnection
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.dbcp.PoolableConnection
super_class: org.apache.commons.dbcp.DelegatingConnection
{
protected org.apache.commons.pool.ObjectPool _pool;
descriptor: Lorg/apache/commons/pool/ObjectPool;
flags: (0x0004) ACC_PROTECTED
public void <init>(java.sql.Connection, org.apache.commons.pool.ObjectPool);
descriptor: (Ljava/sql/Connection;Lorg/apache/commons/pool/ObjectPool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial org.apache.commons.dbcp.DelegatingConnection.<init>:(Ljava/sql/Connection;)V
1: aload 0
aconst_null
putfield org.apache.commons.dbcp.PoolableConnection._pool:Lorg/apache/commons/pool/ObjectPool;
2: aload 0
aload 2
putfield org.apache.commons.dbcp.PoolableConnection._pool:Lorg/apache/commons/pool/ObjectPool;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/commons/dbcp/PoolableConnection;
0 4 1 conn Ljava/sql/Connection;
0 4 2 pool Lorg/apache/commons/pool/ObjectPool;
MethodParameters:
Name Flags
conn
pool
public void <init>(java.sql.Connection, org.apache.commons.pool.ObjectPool, org.apache.commons.dbcp.AbandonedConfig);
descriptor: (Ljava/sql/Connection;Lorg/apache/commons/pool/ObjectPool;Lorg/apache/commons/dbcp/AbandonedConfig;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 3
invokespecial org.apache.commons.dbcp.DelegatingConnection.<init>:(Ljava/sql/Connection;Lorg/apache/commons/dbcp/AbandonedConfig;)V
1: aload 0
aconst_null
putfield org.apache.commons.dbcp.PoolableConnection._pool:Lorg/apache/commons/pool/ObjectPool;
2: aload 0
aload 2
putfield org.apache.commons.dbcp.PoolableConnection._pool:Lorg/apache/commons/pool/ObjectPool;
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/commons/dbcp/PoolableConnection;
0 4 1 conn Ljava/sql/Connection;
0 4 2 pool Lorg/apache/commons/pool/ObjectPool;
0 4 3 config Lorg/apache/commons/dbcp/AbandonedConfig;
MethodParameters:
Name Flags
conn
pool
config
public synchronized void close();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.dbcp.PoolableConnection._closed:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.dbcp.PoolableConnection._conn:Ljava/sql/Connection;
invokeinterface java.sql.Connection.isClosed:()Z
istore 1
start local 1 3: goto 12
end local 1 StackMap locals:
StackMap stack: java.sql.SQLException
4: astore 2
start local 2 5: aload 0
getfield org.apache.commons.dbcp.PoolableConnection._pool:Lorg/apache/commons/pool/ObjectPool;
aload 0
invokeinterface org.apache.commons.pool.ObjectPool.invalidateObject:(Ljava/lang/Object;)V
6: goto 11
StackMap locals: org.apache.commons.dbcp.PoolableConnection top java.sql.SQLException
StackMap stack: java.lang.IllegalStateException
7: pop
8: aload 0
invokevirtual org.apache.commons.dbcp.PoolableConnection.passivate:()V
9: aload 0
invokevirtual org.apache.commons.dbcp.PoolableConnection.getInnermostDelegate:()Ljava/sql/Connection;
invokeinterface java.sql.Connection.close:()V
goto 11
10: StackMap locals:
StackMap stack: java.lang.Exception
pop
11: StackMap locals:
StackMap stack:
new java.sql.SQLException
dup
ldc "Cannot close connection (isClosed check failed)"
invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.sql.SQLException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
checkcast java.sql.SQLException
athrow
end local 2 start local 1 12: StackMap locals: org.apache.commons.dbcp.PoolableConnection int
StackMap stack:
iload 1
ifne 24
13: aload 0
getfield org.apache.commons.dbcp.PoolableConnection._pool:Lorg/apache/commons/pool/ObjectPool;
aload 0
invokeinterface org.apache.commons.pool.ObjectPool.returnObject:(Ljava/lang/Object;)V
14: goto 31
StackMap locals:
StackMap stack: java.lang.IllegalStateException
15: pop
16: aload 0
invokevirtual org.apache.commons.dbcp.PoolableConnection.passivate:()V
17: aload 0
invokevirtual org.apache.commons.dbcp.PoolableConnection.getInnermostDelegate:()Ljava/sql/Connection;
invokeinterface java.sql.Connection.close:()V
goto 31
18: StackMap locals:
StackMap stack: java.sql.SQLException
astore 2
start local 2 19: aload 2
athrow
end local 2 20: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 2
start local 2 21: aload 2
athrow
end local 2 22: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 23: new java.sql.SQLException
dup
ldc "Cannot close connection (return to pool failed)"
invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.sql.SQLException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
checkcast java.sql.SQLException
athrow
end local 2 24: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.commons.dbcp.PoolableConnection._pool:Lorg/apache/commons/pool/ObjectPool;
aload 0
invokeinterface org.apache.commons.pool.ObjectPool.invalidateObject:(Ljava/lang/Object;)V
25: goto 30
StackMap locals:
StackMap stack: java.lang.IllegalStateException
26: pop
27: aload 0
invokevirtual org.apache.commons.dbcp.PoolableConnection.passivate:()V
28: aload 0
invokevirtual org.apache.commons.dbcp.PoolableConnection.getInnermostDelegate:()Ljava/sql/Connection;
invokeinterface java.sql.Connection.close:()V
goto 30
29: StackMap locals:
StackMap stack: java.lang.Exception
pop
30: StackMap locals:
StackMap stack:
new java.sql.SQLException
dup
ldc "Already closed."
invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/apache/commons/dbcp/PoolableConnection;
3 4 1 isUnderlyingConectionClosed Z
12 32 1 isUnderlyingConectionClosed Z
5 12 2 e Ljava/sql/SQLException;
19 20 2 e Ljava/sql/SQLException;
21 22 2 e Ljava/lang/RuntimeException;
23 24 2 e Ljava/lang/Exception;
Exception table:
from to target type
2 3 4 Class java.sql.SQLException
5 6 7 Class java.lang.IllegalStateException
5 6 10 Class java.lang.Exception
13 14 15 Class java.lang.IllegalStateException
13 14 18 Class java.sql.SQLException
13 14 20 Class java.lang.RuntimeException
13 14 22 Class java.lang.Exception
24 25 26 Class java.lang.IllegalStateException
24 25 29 Class java.lang.Exception
Exceptions:
throws java.sql.SQLException
public void reallyClose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.commons.dbcp.DelegatingConnection.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/dbcp/PoolableConnection;
Exceptions:
throws java.sql.SQLException
}
SourceFile: "PoolableConnection.java"