public abstract class org.springframework.jca.cci.connection.ConnectionFactoryUtils
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.springframework.jca.cci.connection.ConnectionFactoryUtils
super_class: java.lang.Object
{
private static final org.apache.commons.logging.Log logger;
descriptor: Lorg/apache/commons/logging/Log;
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/springframework/jca/cci/connection/ConnectionFactoryUtils;
invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
putstatic org.springframework.jca.cci.connection.ConnectionFactoryUtils.logger:Lorg/apache/commons/logging/Log;
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/springframework/jca/cci/connection/ConnectionFactoryUtils;
public static javax.resource.cci.Connection getConnection(javax.resource.cci.ConnectionFactory);
descriptor: (Ljavax/resource/cci/ConnectionFactory;)Ljavax/resource/cci/Connection;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokestatic org.springframework.jca.cci.connection.ConnectionFactoryUtils.getConnection:(Ljavax/resource/cci/ConnectionFactory;Ljavax/resource/cci/ConnectionSpec;)Ljavax/resource/cci/Connection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cf Ljavax/resource/cci/ConnectionFactory;
Exceptions:
throws org.springframework.jca.cci.CannotGetCciConnectionException
MethodParameters:
Name Flags
cf
public static javax.resource.cci.Connection getConnection(javax.resource.cci.ConnectionFactory, javax.resource.cci.ConnectionSpec);
descriptor: (Ljavax/resource/cci/ConnectionFactory;Ljavax/resource/cci/ConnectionSpec;)Ljavax/resource/cci/Connection;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnull 4
1: aload 0
ldc "No ConnectionFactory specified"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
aload 1
invokeinterface javax.resource.cci.ConnectionFactory.getConnection:(Ljavax/resource/cci/ConnectionSpec;)Ljavax/resource/cci/Connection;
3: areturn
4: StackMap locals:
StackMap stack:
aload 0
invokestatic org.springframework.jca.cci.connection.ConnectionFactoryUtils.doGetConnection:(Ljavax/resource/cci/ConnectionFactory;)Ljavax/resource/cci/Connection;
5: areturn
6: StackMap locals:
StackMap stack: javax.resource.ResourceException
astore 2
start local 2 7: new org.springframework.jca.cci.CannotGetCciConnectionException
dup
ldc "Could not get CCI Connection"
aload 2
invokespecial org.springframework.jca.cci.CannotGetCciConnectionException.<init>:(Ljava/lang/String;Ljavax/resource/ResourceException;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 cf Ljavax/resource/cci/ConnectionFactory;
0 8 1 spec Ljavax/resource/cci/ConnectionSpec;
7 8 2 ex Ljavax/resource/ResourceException;
Exception table:
from to target type
0 3 6 Class javax.resource.ResourceException
4 5 6 Class javax.resource.ResourceException
Exceptions:
throws org.springframework.jca.cci.CannotGetCciConnectionException
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
cf
spec
public static javax.resource.cci.Connection doGetConnection(javax.resource.cci.ConnectionFactory);
descriptor: (Ljavax/resource/cci/ConnectionFactory;)Ljavax/resource/cci/Connection;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
ldc "No ConnectionFactory specified"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
invokestatic org.springframework.transaction.support.TransactionSynchronizationManager.getResource:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.jca.cci.connection.ConnectionHolder
astore 1
start local 1 2: aload 1
ifnull 4
3: aload 1
invokevirtual org.springframework.jca.cci.connection.ConnectionHolder.getConnection:()Ljavax/resource/cci/Connection;
areturn
4: StackMap locals: org.springframework.jca.cci.connection.ConnectionHolder
StackMap stack:
getstatic org.springframework.jca.cci.connection.ConnectionFactoryUtils.logger:Lorg/apache/commons/logging/Log;
ldc "Opening CCI Connection"
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
5: aload 0
invokeinterface javax.resource.cci.ConnectionFactory.getConnection:()Ljavax/resource/cci/Connection;
astore 2
start local 2 6: invokestatic org.springframework.transaction.support.TransactionSynchronizationManager.isSynchronizationActive:()Z
ifeq 11
7: new org.springframework.jca.cci.connection.ConnectionHolder
dup
aload 2
invokespecial org.springframework.jca.cci.connection.ConnectionHolder.<init>:(Ljavax/resource/cci/Connection;)V
astore 1
8: aload 1
iconst_1
invokevirtual org.springframework.jca.cci.connection.ConnectionHolder.setSynchronizedWithTransaction:(Z)V
9: new org.springframework.jca.cci.connection.ConnectionFactoryUtils$ConnectionSynchronization
dup
aload 1
aload 0
invokespecial org.springframework.jca.cci.connection.ConnectionFactoryUtils$ConnectionSynchronization.<init>:(Lorg/springframework/jca/cci/connection/ConnectionHolder;Ljavax/resource/cci/ConnectionFactory;)V
invokestatic org.springframework.transaction.support.TransactionSynchronizationManager.registerSynchronization:(Lorg/springframework/transaction/support/TransactionSynchronization;)V
10: aload 0
aload 1
invokestatic org.springframework.transaction.support.TransactionSynchronizationManager.bindResource:(Ljava/lang/Object;Ljava/lang/Object;)V
11: StackMap locals: javax.resource.cci.Connection
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 cf Ljavax/resource/cci/ConnectionFactory;
2 12 1 conHolder Lorg/springframework/jca/cci/connection/ConnectionHolder;
6 12 2 con Ljavax/resource/cci/Connection;
Exceptions:
throws javax.resource.ResourceException
MethodParameters:
Name Flags
cf
public static boolean isConnectionTransactional(javax.resource.cci.Connection, javax.resource.cci.ConnectionFactory);
descriptor: (Ljavax/resource/cci/Connection;Ljavax/resource/cci/ConnectionFactory;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic org.springframework.transaction.support.TransactionSynchronizationManager.getResource:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.jca.cci.connection.ConnectionHolder
astore 2
start local 2 3: aload 2
ifnull 4
aload 2
invokevirtual org.springframework.jca.cci.connection.ConnectionHolder.getConnection:()Ljavax/resource/cci/Connection;
aload 0
if_acmpne 4
iconst_1
ireturn
StackMap locals: org.springframework.jca.cci.connection.ConnectionHolder
StackMap stack:
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 con Ljavax/resource/cci/Connection;
0 5 1 cf Ljavax/resource/cci/ConnectionFactory;
3 5 2 conHolder Lorg/springframework/jca/cci/connection/ConnectionHolder;
RuntimeVisibleParameterAnnotations:
0:
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
con
cf
public static void releaseConnection(javax.resource.cci.Connection, javax.resource.cci.ConnectionFactory);
descriptor: (Ljavax/resource/cci/Connection;Ljavax/resource/cci/ConnectionFactory;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.springframework.jca.cci.connection.ConnectionFactoryUtils.doReleaseConnection:(Ljavax/resource/cci/Connection;Ljavax/resource/cci/ConnectionFactory;)V
1: goto 7
2: StackMap locals:
StackMap stack: javax.resource.ResourceException
astore 2
start local 2 3: getstatic org.springframework.jca.cci.connection.ConnectionFactoryUtils.logger:Lorg/apache/commons/logging/Log;
ldc "Could not close CCI Connection"
aload 2
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 2 4: goto 7
5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 6: getstatic org.springframework.jca.cci.connection.ConnectionFactoryUtils.logger:Lorg/apache/commons/logging/Log;
ldc "Unexpected exception on closing CCI Connection"
aload 2
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 con Ljavax/resource/cci/Connection;
0 8 1 cf Ljavax/resource/cci/ConnectionFactory;
3 4 2 ex Ljavax/resource/ResourceException;
6 7 2 ex Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class javax.resource.ResourceException
0 1 5 Class java.lang.Throwable
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
con
cf
public static void doReleaseConnection(javax.resource.cci.Connection, javax.resource.cci.ConnectionFactory);
descriptor: (Ljavax/resource/cci/Connection;Ljavax/resource/cci/ConnectionFactory;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnull 1
aload 0
aload 1
invokestatic org.springframework.jca.cci.connection.ConnectionFactoryUtils.isConnectionTransactional:(Ljavax/resource/cci/Connection;Ljavax/resource/cci/ConnectionFactory;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface javax.resource.cci.Connection.close:()V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 con Ljavax/resource/cci/Connection;
0 4 1 cf Ljavax/resource/cci/ConnectionFactory;
Exceptions:
throws javax.resource.ResourceException
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
con
cf
}
SourceFile: "ConnectionFactoryUtils.java"
NestMembers:
org.springframework.jca.cci.connection.ConnectionFactoryUtils$ConnectionSynchronization
InnerClasses:
private ConnectionSynchronization = org.springframework.jca.cci.connection.ConnectionFactoryUtils$ConnectionSynchronization of org.springframework.jca.cci.connection.ConnectionFactoryUtils