public class org.springframework.transaction.jta.JtaTransactionManager extends org.springframework.transaction.support.AbstractPlatformTransactionManager implements org.springframework.transaction.jta.TransactionFactory, org.springframework.beans.factory.InitializingBean, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.transaction.jta.JtaTransactionManager
super_class: org.springframework.transaction.support.AbstractPlatformTransactionManager
{
public static final java.lang.String DEFAULT_USER_TRANSACTION_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "java:comp/UserTransaction"
public static final java.lang.String[] FALLBACK_TRANSACTION_MANAGER_NAMES;
descriptor: [Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final java.lang.String DEFAULT_TRANSACTION_SYNCHRONIZATION_REGISTRY_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "java:comp/TransactionSynchronizationRegistry"
private transient org.springframework.jndi.JndiTemplate jndiTemplate;
descriptor: Lorg/springframework/jndi/JndiTemplate;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private transient javax.transaction.UserTransaction userTransaction;
descriptor: Ljavax/transaction/UserTransaction;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.lang.String userTransactionName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private boolean autodetectUserTransaction;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean cacheUserTransaction;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean userTransactionObtainedFromJndi;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private transient javax.transaction.TransactionManager transactionManager;
descriptor: Ljavax/transaction/TransactionManager;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.lang.String transactionManagerName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private boolean autodetectTransactionManager;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private transient javax.transaction.TransactionSynchronizationRegistry transactionSynchronizationRegistry;
descriptor: Ljavax/transaction/TransactionSynchronizationRegistry;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private java.lang.String transactionSynchronizationRegistryName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
private boolean autodetectTransactionSynchronizationRegistry;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean allowCustomIsolationLevels;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_4
anewarray java.lang.String
dup
iconst_0
ldc "java:comp/TransactionManager"
aastore
dup
iconst_1
ldc "java:appserver/TransactionManager"
aastore
dup
iconst_2
1: ldc "java:pm/TransactionManager"
aastore
dup
iconst_3
ldc "java:/TransactionManager"
aastore
2: putstatic org.springframework.transaction.jta.JtaTransactionManager.FALLBACK_TRANSACTION_MANAGER_NAMES:[Ljava/lang/String;
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.springframework.transaction.support.AbstractPlatformTransactionManager.<init>:()V
1: aload 0
new org.springframework.jndi.JndiTemplate
dup
invokespecial org.springframework.jndi.JndiTemplate.<init>:()V
putfield org.springframework.transaction.jta.JtaTransactionManager.jndiTemplate:Lorg/springframework/jndi/JndiTemplate;
2: aload 0
iconst_1
putfield org.springframework.transaction.jta.JtaTransactionManager.autodetectUserTransaction:Z
3: aload 0
iconst_1
putfield org.springframework.transaction.jta.JtaTransactionManager.cacheUserTransaction:Z
4: aload 0
iconst_0
putfield org.springframework.transaction.jta.JtaTransactionManager.userTransactionObtainedFromJndi:Z
5: aload 0
iconst_1
putfield org.springframework.transaction.jta.JtaTransactionManager.autodetectTransactionManager:Z
6: aload 0
iconst_1
putfield org.springframework.transaction.jta.JtaTransactionManager.autodetectTransactionSynchronizationRegistry:Z
7: aload 0
iconst_0
putfield org.springframework.transaction.jta.JtaTransactionManager.allowCustomIsolationLevels:Z
8: aload 0
iconst_1
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.setNestedTransactionAllowed:(Z)V
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
public void <init>(javax.transaction.UserTransaction);
descriptor: (Ljavax/transaction/UserTransaction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.springframework.transaction.jta.JtaTransactionManager.<init>:()V
1: aload 1
ldc "UserTransaction must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
aload 1
putfield org.springframework.transaction.jta.JtaTransactionManager.userTransaction:Ljavax/transaction/UserTransaction;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 4 1 userTransaction Ljavax/transaction/UserTransaction;
MethodParameters:
Name Flags
userTransaction
public void <init>(javax.transaction.UserTransaction, javax.transaction.TransactionManager);
descriptor: (Ljavax/transaction/UserTransaction;Ljavax/transaction/TransactionManager;)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
invokespecial org.springframework.transaction.jta.JtaTransactionManager.<init>:()V
1: aload 1
ldc "UserTransaction must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 2
ldc "TransactionManager must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
3: aload 0
aload 1
putfield org.springframework.transaction.jta.JtaTransactionManager.userTransaction:Ljavax/transaction/UserTransaction;
4: aload 0
aload 2
putfield org.springframework.transaction.jta.JtaTransactionManager.transactionManager:Ljavax/transaction/TransactionManager;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 6 1 userTransaction Ljavax/transaction/UserTransaction;
0 6 2 transactionManager Ljavax/transaction/TransactionManager;
MethodParameters:
Name Flags
userTransaction
transactionManager
public void <init>(javax.transaction.TransactionManager);
descriptor: (Ljavax/transaction/TransactionManager;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.springframework.transaction.jta.JtaTransactionManager.<init>:()V
1: aload 1
ldc "TransactionManager must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 0
aload 1
putfield org.springframework.transaction.jta.JtaTransactionManager.transactionManager:Ljavax/transaction/TransactionManager;
3: aload 0
aload 0
aload 1
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.buildUserTransaction:(Ljavax/transaction/TransactionManager;)Ljavax/transaction/UserTransaction;
putfield org.springframework.transaction.jta.JtaTransactionManager.userTransaction:Ljavax/transaction/UserTransaction;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 5 1 transactionManager Ljavax/transaction/TransactionManager;
MethodParameters:
Name Flags
transactionManager
public void setJndiTemplate(org.springframework.jndi.JndiTemplate);
descriptor: (Lorg/springframework/jndi/JndiTemplate;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "JndiTemplate must not be null"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
1: aload 0
aload 1
putfield org.springframework.transaction.jta.JtaTransactionManager.jndiTemplate:Lorg/springframework/jndi/JndiTemplate;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 3 1 jndiTemplate Lorg/springframework/jndi/JndiTemplate;
MethodParameters:
Name Flags
jndiTemplate
public org.springframework.jndi.JndiTemplate getJndiTemplate();
descriptor: ()Lorg/springframework/jndi/JndiTemplate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.jndiTemplate:Lorg/springframework/jndi/JndiTemplate;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
public void setJndiEnvironment(java.util.Properties);
descriptor: (Ljava/util/Properties;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new org.springframework.jndi.JndiTemplate
dup
aload 1
invokespecial org.springframework.jndi.JndiTemplate.<init>:(Ljava/util/Properties;)V
putfield org.springframework.transaction.jta.JtaTransactionManager.jndiTemplate:Lorg/springframework/jndi/JndiTemplate;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 2 1 jndiEnvironment Ljava/util/Properties;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
jndiEnvironment
public java.util.Properties getJndiEnvironment();
descriptor: ()Ljava/util/Properties;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.jndiTemplate:Lorg/springframework/jndi/JndiTemplate;
invokevirtual org.springframework.jndi.JndiTemplate.getEnvironment:()Ljava/util/Properties;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void setUserTransaction(javax.transaction.UserTransaction);
descriptor: (Ljavax/transaction/UserTransaction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.transaction.jta.JtaTransactionManager.userTransaction:Ljavax/transaction/UserTransaction;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 2 1 userTransaction Ljavax/transaction/UserTransaction;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
userTransaction
public javax.transaction.UserTransaction getUserTransaction();
descriptor: ()Ljavax/transaction/UserTransaction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.userTransaction:Ljavax/transaction/UserTransaction;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void setUserTransactionName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.transaction.jta.JtaTransactionManager.userTransactionName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 2 1 userTransactionName Ljava/lang/String;
MethodParameters:
Name Flags
userTransactionName
public void setAutodetectUserTransaction(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.springframework.transaction.jta.JtaTransactionManager.autodetectUserTransaction:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 2 1 autodetectUserTransaction Z
MethodParameters:
Name Flags
autodetectUserTransaction
public void setCacheUserTransaction(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.springframework.transaction.jta.JtaTransactionManager.cacheUserTransaction:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 2 1 cacheUserTransaction Z
MethodParameters:
Name Flags
cacheUserTransaction
public void setTransactionManager(javax.transaction.TransactionManager);
descriptor: (Ljavax/transaction/TransactionManager;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.transaction.jta.JtaTransactionManager.transactionManager:Ljavax/transaction/TransactionManager;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 2 1 transactionManager Ljavax/transaction/TransactionManager;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
transactionManager
public javax.transaction.TransactionManager getTransactionManager();
descriptor: ()Ljavax/transaction/TransactionManager;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionManager:Ljavax/transaction/TransactionManager;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void setTransactionManagerName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.transaction.jta.JtaTransactionManager.transactionManagerName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 2 1 transactionManagerName Ljava/lang/String;
MethodParameters:
Name Flags
transactionManagerName
public void setAutodetectTransactionManager(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.springframework.transaction.jta.JtaTransactionManager.autodetectTransactionManager:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 2 1 autodetectTransactionManager Z
MethodParameters:
Name Flags
autodetectTransactionManager
public void setTransactionSynchronizationRegistry(javax.transaction.TransactionSynchronizationRegistry);
descriptor: (Ljavax/transaction/TransactionSynchronizationRegistry;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.transaction.jta.JtaTransactionManager.transactionSynchronizationRegistry:Ljavax/transaction/TransactionSynchronizationRegistry;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 2 1 transactionSynchronizationRegistry Ljavax/transaction/TransactionSynchronizationRegistry;
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
transactionSynchronizationRegistry
public javax.transaction.TransactionSynchronizationRegistry getTransactionSynchronizationRegistry();
descriptor: ()Ljavax/transaction/TransactionSynchronizationRegistry;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionSynchronizationRegistry:Ljavax/transaction/TransactionSynchronizationRegistry;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
public void setTransactionSynchronizationRegistryName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.springframework.transaction.jta.JtaTransactionManager.transactionSynchronizationRegistryName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 2 1 transactionSynchronizationRegistryName Ljava/lang/String;
MethodParameters:
Name Flags
transactionSynchronizationRegistryName
public void setAutodetectTransactionSynchronizationRegistry(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.springframework.transaction.jta.JtaTransactionManager.autodetectTransactionSynchronizationRegistry:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 2 1 autodetectTransactionSynchronizationRegistry Z
MethodParameters:
Name Flags
autodetectTransactionSynchronizationRegistry
public void setAllowCustomIsolationLevels(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.springframework.transaction.jta.JtaTransactionManager.allowCustomIsolationLevels:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 2 1 allowCustomIsolationLevels Z
MethodParameters:
Name Flags
allowCustomIsolationLevels
public void afterPropertiesSet();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.initUserTransactionAndTransactionManager:()V
1: aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.checkUserTransactionAndTransactionManager:()V
2: aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.initTransactionSynchronizationRegistry:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
Exceptions:
throws org.springframework.transaction.TransactionSystemException
protected void initUserTransactionAndTransactionManager();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.userTransaction:Ljavax/transaction/UserTransaction;
ifnonnull 8
1: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.userTransactionName:Ljava/lang/String;
invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
ifeq 5
2: aload 0
aload 0
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.userTransactionName:Ljava/lang/String;
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.lookupUserTransaction:(Ljava/lang/String;)Ljavax/transaction/UserTransaction;
putfield org.springframework.transaction.jta.JtaTransactionManager.userTransaction:Ljavax/transaction/UserTransaction;
3: aload 0
iconst_1
putfield org.springframework.transaction.jta.JtaTransactionManager.userTransactionObtainedFromJndi:Z
4: goto 8
5: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.retrieveUserTransaction:()Ljavax/transaction/UserTransaction;
putfield org.springframework.transaction.jta.JtaTransactionManager.userTransaction:Ljavax/transaction/UserTransaction;
6: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.userTransaction:Ljavax/transaction/UserTransaction;
ifnonnull 8
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.autodetectUserTransaction:Z
ifeq 8
7: aload 0
aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.findUserTransaction:()Ljavax/transaction/UserTransaction;
putfield org.springframework.transaction.jta.JtaTransactionManager.userTransaction:Ljavax/transaction/UserTransaction;
8: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionManager:Ljavax/transaction/TransactionManager;
ifnonnull 15
9: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionManagerName:Ljava/lang/String;
invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
ifeq 12
10: aload 0
aload 0
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionManagerName:Ljava/lang/String;
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.lookupTransactionManager:(Ljava/lang/String;)Ljavax/transaction/TransactionManager;
putfield org.springframework.transaction.jta.JtaTransactionManager.transactionManager:Ljavax/transaction/TransactionManager;
11: goto 15
12: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.retrieveTransactionManager:()Ljavax/transaction/TransactionManager;
putfield org.springframework.transaction.jta.JtaTransactionManager.transactionManager:Ljavax/transaction/TransactionManager;
13: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionManager:Ljavax/transaction/TransactionManager;
ifnonnull 15
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.autodetectTransactionManager:Z
ifeq 15
14: aload 0
aload 0
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.userTransaction:Ljavax/transaction/UserTransaction;
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.findTransactionManager:(Ljavax/transaction/UserTransaction;)Ljavax/transaction/TransactionManager;
putfield org.springframework.transaction.jta.JtaTransactionManager.transactionManager:Ljavax/transaction/TransactionManager;
15: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.userTransaction:Ljavax/transaction/UserTransaction;
ifnonnull 17
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionManager:Ljavax/transaction/TransactionManager;
ifnull 17
16: aload 0
aload 0
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionManager:Ljavax/transaction/TransactionManager;
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.buildUserTransaction:(Ljavax/transaction/TransactionManager;)Ljavax/transaction/UserTransaction;
putfield org.springframework.transaction.jta.JtaTransactionManager.userTransaction:Ljavax/transaction/UserTransaction;
17: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
Exceptions:
throws org.springframework.transaction.TransactionSystemException
protected void checkUserTransactionAndTransactionManager();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.userTransaction:Ljavax/transaction/UserTransaction;
ifnull 4
1: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 5
2: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Using JTA UserTransaction: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.userTransaction:Ljavax/transaction/UserTransaction;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
3: goto 5
4: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "No JTA UserTransaction available - specify either 'userTransaction' or 'userTransactionName' or 'transactionManager' or 'transactionManagerName'"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionManager:Ljavax/transaction/TransactionManager;
ifnull 9
6: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 10
7: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Using JTA TransactionManager: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionManager:Ljavax/transaction/TransactionManager;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
ldc "No JTA TransactionManager found: transaction suspension not available"
invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
Exceptions:
throws java.lang.IllegalStateException
protected void initTransactionSynchronizationRegistry();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionSynchronizationRegistry:Ljavax/transaction/TransactionSynchronizationRegistry;
ifnonnull 11
1: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionSynchronizationRegistryName:Ljava/lang/String;
invokestatic org.springframework.util.StringUtils.hasLength:(Ljava/lang/String;)Z
ifeq 6
2: aload 0
3: aload 0
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionSynchronizationRegistryName:Ljava/lang/String;
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.lookupTransactionSynchronizationRegistry:(Ljava/lang/String;)Ljavax/transaction/TransactionSynchronizationRegistry;
4: putfield org.springframework.transaction.jta.JtaTransactionManager.transactionSynchronizationRegistry:Ljavax/transaction/TransactionSynchronizationRegistry;
5: goto 11
6: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.retrieveTransactionSynchronizationRegistry:()Ljavax/transaction/TransactionSynchronizationRegistry;
putfield org.springframework.transaction.jta.JtaTransactionManager.transactionSynchronizationRegistry:Ljavax/transaction/TransactionSynchronizationRegistry;
7: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionSynchronizationRegistry:Ljavax/transaction/TransactionSynchronizationRegistry;
ifnonnull 11
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.autodetectTransactionSynchronizationRegistry:Z
ifeq 11
8: aload 0
9: aload 0
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.userTransaction:Ljavax/transaction/UserTransaction;
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionManager:Ljavax/transaction/TransactionManager;
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.findTransactionSynchronizationRegistry:(Ljavax/transaction/UserTransaction;Ljavax/transaction/TransactionManager;)Ljavax/transaction/TransactionSynchronizationRegistry;
10: putfield org.springframework.transaction.jta.JtaTransactionManager.transactionSynchronizationRegistry:Ljavax/transaction/TransactionSynchronizationRegistry;
11: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionSynchronizationRegistry:Ljavax/transaction/TransactionSynchronizationRegistry;
ifnull 14
12: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 14
13: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Using JTA TransactionSynchronizationRegistry: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionSynchronizationRegistry:Ljavax/transaction/TransactionSynchronizationRegistry;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
protected javax.transaction.UserTransaction buildUserTransaction(javax.transaction.TransactionManager);
descriptor: (Ljavax/transaction/TransactionManager;)Ljavax/transaction/UserTransaction;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof javax.transaction.UserTransaction
ifeq 2
1: aload 1
checkcast javax.transaction.UserTransaction
areturn
2: StackMap locals:
StackMap stack:
new org.springframework.transaction.jta.UserTransactionAdapter
dup
aload 1
invokespecial org.springframework.transaction.jta.UserTransactionAdapter.<init>:(Ljavax/transaction/TransactionManager;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 3 1 transactionManager Ljavax/transaction/TransactionManager;
MethodParameters:
Name Flags
transactionManager
protected javax.transaction.UserTransaction lookupUserTransaction(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/transaction/UserTransaction;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 2
1: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Retrieving JTA UserTransaction from JNDI location ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.getJndiTemplate:()Lorg/springframework/jndi/JndiTemplate;
aload 1
ldc Ljavax/transaction/UserTransaction;
invokevirtual org.springframework.jndi.JndiTemplate.lookup:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast javax.transaction.UserTransaction
3: areturn
4: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 2
start local 2 5: new org.springframework.transaction.TransactionSystemException
dup
6: new java.lang.StringBuilder
dup
ldc "JTA UserTransaction is not available at JNDI location ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
7: invokespecial org.springframework.transaction.TransactionSystemException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 8 1 userTransactionName Ljava/lang/String;
5 8 2 ex Ljavax/naming/NamingException;
Exception table:
from to target type
0 3 4 Class javax.naming.NamingException
Exceptions:
throws org.springframework.transaction.TransactionSystemException
MethodParameters:
Name Flags
userTransactionName
protected javax.transaction.TransactionManager lookupTransactionManager(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/transaction/TransactionManager;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 2
1: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Retrieving JTA TransactionManager from JNDI location ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.getJndiTemplate:()Lorg/springframework/jndi/JndiTemplate;
aload 1
ldc Ljavax/transaction/TransactionManager;
invokevirtual org.springframework.jndi.JndiTemplate.lookup:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast javax.transaction.TransactionManager
3: areturn
4: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 2
start local 2 5: new org.springframework.transaction.TransactionSystemException
dup
6: new java.lang.StringBuilder
dup
ldc "JTA TransactionManager is not available at JNDI location ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
7: invokespecial org.springframework.transaction.TransactionSystemException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 8 1 transactionManagerName Ljava/lang/String;
5 8 2 ex Ljavax/naming/NamingException;
Exception table:
from to target type
0 3 4 Class javax.naming.NamingException
Exceptions:
throws org.springframework.transaction.TransactionSystemException
MethodParameters:
Name Flags
transactionManagerName
protected javax.transaction.TransactionSynchronizationRegistry lookupTransactionSynchronizationRegistry(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/transaction/TransactionSynchronizationRegistry;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 2
1: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Retrieving JTA TransactionSynchronizationRegistry from JNDI location ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.getJndiTemplate:()Lorg/springframework/jndi/JndiTemplate;
aload 1
ldc Ljavax/transaction/TransactionSynchronizationRegistry;
invokevirtual org.springframework.jndi.JndiTemplate.lookup:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast javax.transaction.TransactionSynchronizationRegistry
3: areturn
4: StackMap locals:
StackMap stack: javax.naming.NamingException
astore 2
start local 2 5: new org.springframework.transaction.TransactionSystemException
dup
6: new java.lang.StringBuilder
dup
ldc "JTA TransactionSynchronizationRegistry is not available at JNDI location ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
7: invokespecial org.springframework.transaction.TransactionSystemException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 8 1 registryName Ljava/lang/String;
5 8 2 ex Ljavax/naming/NamingException;
Exception table:
from to target type
0 3 4 Class javax.naming.NamingException
Exceptions:
throws org.springframework.transaction.TransactionSystemException
MethodParameters:
Name Flags
registryName
protected javax.transaction.UserTransaction retrieveUserTransaction();
descriptor: ()Ljavax/transaction/UserTransaction;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
Exceptions:
throws org.springframework.transaction.TransactionSystemException
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
protected javax.transaction.TransactionManager retrieveTransactionManager();
descriptor: ()Ljavax/transaction/TransactionManager;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
Exceptions:
throws org.springframework.transaction.TransactionSystemException
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
protected javax.transaction.TransactionSynchronizationRegistry retrieveTransactionSynchronizationRegistry();
descriptor: ()Ljavax/transaction/TransactionSynchronizationRegistry;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
Exceptions:
throws org.springframework.transaction.TransactionSystemException
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
protected javax.transaction.UserTransaction findUserTransaction();
descriptor: ()Ljavax/transaction/UserTransaction;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=1
start local 0 0: ldc "java:comp/UserTransaction"
astore 1
start local 1 1: aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.getJndiTemplate:()Lorg/springframework/jndi/JndiTemplate;
aload 1
ldc Ljavax/transaction/UserTransaction;
invokevirtual org.springframework.jndi.JndiTemplate.lookup:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast javax.transaction.UserTransaction
astore 2
start local 2 2: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 4
3: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "JTA UserTransaction found at default JNDI location ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
4: StackMap locals: java.lang.String javax.transaction.UserTransaction
StackMap stack:
aload 0
iconst_1
putfield org.springframework.transaction.jta.JtaTransactionManager.userTransactionObtainedFromJndi:Z
5: aload 2
6: areturn
end local 2 7: StackMap locals: org.springframework.transaction.jta.JtaTransactionManager java.lang.String
StackMap stack: javax.naming.NamingException
astore 2
start local 2 8: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 10
9: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "No JTA UserTransaction found at default JNDI location ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
10: StackMap locals: javax.naming.NamingException
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
1 11 1 jndiName Ljava/lang/String;
2 7 2 ut Ljavax/transaction/UserTransaction;
8 11 2 ex Ljavax/naming/NamingException;
Exception table:
from to target type
1 6 7 Class javax.naming.NamingException
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
protected javax.transaction.TransactionManager findTransactionManager(javax.transaction.UserTransaction);
descriptor: (Ljavax/transaction/UserTransaction;)Ljavax/transaction/TransactionManager;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
instanceof javax.transaction.TransactionManager
ifeq 4
1: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 3
2: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "JTA UserTransaction object ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "] implements TransactionManager"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
aload 1
checkcast javax.transaction.TransactionManager
areturn
4: StackMap locals:
StackMap stack:
getstatic org.springframework.transaction.jta.JtaTransactionManager.FALLBACK_TRANSACTION_MANAGER_NAMES:[Ljava/lang/String;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 15
StackMap locals: org.springframework.transaction.jta.JtaTransactionManager javax.transaction.UserTransaction top int int java.lang.String[]
StackMap stack:
5: aload 5
iload 3
aaload
astore 2
start local 2 6: aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.getJndiTemplate:()Lorg/springframework/jndi/JndiTemplate;
aload 2
ldc Ljavax/transaction/TransactionManager;
invokevirtual org.springframework.jndi.JndiTemplate.lookup:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast javax.transaction.TransactionManager
astore 6
start local 6 7: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 9
8: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "JTA TransactionManager found at fallback JNDI location ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
9: StackMap locals: org.springframework.transaction.jta.JtaTransactionManager javax.transaction.UserTransaction java.lang.String int int java.lang.String[] javax.transaction.TransactionManager
StackMap stack:
aload 6
10: areturn
end local 6 11: StackMap locals: org.springframework.transaction.jta.JtaTransactionManager javax.transaction.UserTransaction java.lang.String int int java.lang.String[]
StackMap stack: javax.naming.NamingException
astore 6
start local 6 12: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 14
13: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "No JTA TransactionManager found at fallback JNDI location ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 6 end local 2 14: StackMap locals: org.springframework.transaction.jta.JtaTransactionManager javax.transaction.UserTransaction top int int java.lang.String[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
15: iload 3
iload 4
if_icmplt 5
16: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 17 1 ut Ljavax/transaction/UserTransaction;
6 14 2 jndiName Ljava/lang/String;
7 11 6 tm Ljavax/transaction/TransactionManager;
12 14 6 ex Ljavax/naming/NamingException;
Exception table:
from to target type
6 10 11 Class javax.naming.NamingException
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
ut
protected javax.transaction.TransactionSynchronizationRegistry findTransactionSynchronizationRegistry(javax.transaction.UserTransaction, javax.transaction.TransactionManager);
descriptor: (Ljavax/transaction/UserTransaction;Ljavax/transaction/TransactionManager;)Ljavax/transaction/TransactionSynchronizationRegistry;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.userTransactionObtainedFromJndi:Z
ifeq 10
1: ldc "java:comp/TransactionSynchronizationRegistry"
astore 3
start local 3 2: aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.getJndiTemplate:()Lorg/springframework/jndi/JndiTemplate;
aload 3
ldc Ljavax/transaction/TransactionSynchronizationRegistry;
invokevirtual org.springframework.jndi.JndiTemplate.lookup:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast javax.transaction.TransactionSynchronizationRegistry
astore 4
start local 4 3: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 5
4: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "JTA TransactionSynchronizationRegistry found at default JNDI location ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
5: StackMap locals: java.lang.String javax.transaction.TransactionSynchronizationRegistry
StackMap stack:
aload 4
6: areturn
end local 4 7: StackMap locals: org.springframework.transaction.jta.JtaTransactionManager javax.transaction.UserTransaction javax.transaction.TransactionManager java.lang.String
StackMap stack: javax.naming.NamingException
astore 4
start local 4 8: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 10
9: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "No JTA TransactionSynchronizationRegistry found at default JNDI location ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 4 end local 3 10: StackMap locals:
StackMap stack:
aload 1
instanceof javax.transaction.TransactionSynchronizationRegistry
ifeq 12
11: aload 1
checkcast javax.transaction.TransactionSynchronizationRegistry
areturn
12: StackMap locals:
StackMap stack:
aload 2
instanceof javax.transaction.TransactionSynchronizationRegistry
ifeq 14
13: aload 2
checkcast javax.transaction.TransactionSynchronizationRegistry
areturn
14: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 15 1 ut Ljavax/transaction/UserTransaction;
0 15 2 tm Ljavax/transaction/TransactionManager;
2 10 3 jndiName Ljava/lang/String;
3 7 4 tsr Ljavax/transaction/TransactionSynchronizationRegistry;
8 10 4 ex Ljavax/naming/NamingException;
Exception table:
from to target type
2 6 7 Class javax.naming.NamingException
Exceptions:
throws org.springframework.transaction.TransactionSystemException
RuntimeVisibleAnnotations:
org.springframework.lang.Nullable()
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
ut
tm
protected java.lang.Object doGetTransaction();
descriptor: ()Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.getUserTransaction:()Ljavax/transaction/UserTransaction;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new org.springframework.transaction.CannotCreateTransactionException
dup
ldc "No JTA UserTransaction available - programmatic PlatformTransactionManager.getTransaction usage not supported"
invokespecial org.springframework.transaction.CannotCreateTransactionException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: javax.transaction.UserTransaction
StackMap stack:
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.cacheUserTransaction:Z
ifne 8
4: aload 0
5: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.userTransactionName:Ljava/lang/String;
ifnull 6
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.userTransactionName:Ljava/lang/String;
goto 7
StackMap locals:
StackMap stack: org.springframework.transaction.jta.JtaTransactionManager
6: ldc "java:comp/UserTransaction"
7: StackMap locals: org.springframework.transaction.jta.JtaTransactionManager javax.transaction.UserTransaction
StackMap stack: org.springframework.transaction.jta.JtaTransactionManager java.lang.String
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.lookupUserTransaction:(Ljava/lang/String;)Ljavax/transaction/UserTransaction;
astore 1
8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.doGetJtaTransaction:(Ljavax/transaction/UserTransaction;)Lorg/springframework/transaction/jta/JtaTransactionObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
1 9 1 ut Ljavax/transaction/UserTransaction;
protected org.springframework.transaction.jta.JtaTransactionObject doGetJtaTransaction(javax.transaction.UserTransaction);
descriptor: (Ljavax/transaction/UserTransaction;)Lorg/springframework/transaction/jta/JtaTransactionObject;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new org.springframework.transaction.jta.JtaTransactionObject
dup
aload 1
invokespecial org.springframework.transaction.jta.JtaTransactionObject.<init>:(Ljavax/transaction/UserTransaction;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 1 1 ut Ljavax/transaction/UserTransaction;
MethodParameters:
Name Flags
ut
protected boolean isExistingTransaction(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
checkcast org.springframework.transaction.jta.JtaTransactionObject
astore 2
start local 2 1: aload 2
invokevirtual org.springframework.transaction.jta.JtaTransactionObject.getUserTransaction:()Ljavax/transaction/UserTransaction;
invokeinterface javax.transaction.UserTransaction.getStatus:()I
bipush 6
if_icmpeq 2
iconst_1
ireturn
StackMap locals: org.springframework.transaction.jta.JtaTransactionObject
StackMap stack:
2: iconst_0
3: ireturn
4: StackMap locals:
StackMap stack: javax.transaction.SystemException
astore 3
start local 3 5: new org.springframework.transaction.TransactionSystemException
dup
ldc "JTA failure on getStatus"
aload 3
invokespecial org.springframework.transaction.TransactionSystemException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 6 1 transaction Ljava/lang/Object;
1 6 2 txObject Lorg/springframework/transaction/jta/JtaTransactionObject;
5 6 3 ex Ljavax/transaction/SystemException;
Exception table:
from to target type
1 3 4 Class javax.transaction.SystemException
MethodParameters:
Name Flags
transaction
protected boolean useSavepointForNestedTransaction();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
protected void doBegin(java.lang.Object, org.springframework.transaction.TransactionDefinition);
descriptor: (Ljava/lang/Object;Lorg/springframework/transaction/TransactionDefinition;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast org.springframework.transaction.jta.JtaTransactionObject
astore 3
start local 3 1: aload 0
aload 3
aload 2
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.doJtaBegin:(Lorg/springframework/transaction/jta/JtaTransactionObject;Lorg/springframework/transaction/TransactionDefinition;)V
2: goto 9
3: StackMap locals: org.springframework.transaction.jta.JtaTransactionManager java.lang.Object org.springframework.transaction.TransactionDefinition org.springframework.transaction.jta.JtaTransactionObject
StackMap stack: java.lang.Exception
astore 4
start local 4 4: new org.springframework.transaction.NestedTransactionNotSupportedException
dup
5: ldc "JTA implementation does not support nested transactions"
aload 4
6: invokespecial org.springframework.transaction.NestedTransactionNotSupportedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 7: StackMap locals:
StackMap stack: javax.transaction.SystemException
astore 4
start local 4 8: new org.springframework.transaction.CannotCreateTransactionException
dup
ldc "JTA failure on begin"
aload 4
invokespecial org.springframework.transaction.CannotCreateTransactionException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 9: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 10 1 transaction Ljava/lang/Object;
0 10 2 definition Lorg/springframework/transaction/TransactionDefinition;
1 10 3 txObject Lorg/springframework/transaction/jta/JtaTransactionObject;
4 7 4 ex Ljava/lang/Exception;
8 9 4 ex Ljavax/transaction/SystemException;
Exception table:
from to target type
1 2 3 Class javax.transaction.NotSupportedException
1 2 3 Class java.lang.UnsupportedOperationException
1 2 7 Class javax.transaction.SystemException
MethodParameters:
Name Flags
transaction
definition
protected void doJtaBegin(org.springframework.transaction.jta.JtaTransactionObject, org.springframework.transaction.TransactionDefinition);
descriptor: (Lorg/springframework/transaction/jta/JtaTransactionObject;Lorg/springframework/transaction/TransactionDefinition;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokeinterface org.springframework.transaction.TransactionDefinition.getIsolationLevel:()I
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.applyIsolationLevel:(Lorg/springframework/transaction/jta/JtaTransactionObject;I)V
1: aload 0
aload 2
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.determineTimeout:(Lorg/springframework/transaction/TransactionDefinition;)I
istore 3
start local 3 2: aload 0
aload 1
iload 3
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.applyTimeout:(Lorg/springframework/transaction/jta/JtaTransactionObject;I)V
3: aload 1
invokevirtual org.springframework.transaction.jta.JtaTransactionObject.getUserTransaction:()Ljavax/transaction/UserTransaction;
invokeinterface javax.transaction.UserTransaction.begin:()V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 5 1 txObject Lorg/springframework/transaction/jta/JtaTransactionObject;
0 5 2 definition Lorg/springframework/transaction/TransactionDefinition;
2 5 3 timeout I
Exceptions:
throws javax.transaction.NotSupportedException, javax.transaction.SystemException
MethodParameters:
Name Flags
txObject
definition
protected void applyIsolationLevel(org.springframework.transaction.jta.JtaTransactionObject, int);
descriptor: (Lorg/springframework/transaction/jta/JtaTransactionObject;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.allowCustomIsolationLevels:Z
ifne 4
iload 2
iconst_m1
if_icmpeq 4
1: new org.springframework.transaction.InvalidIsolationLevelException
dup
2: ldc "JtaTransactionManager does not support custom isolation levels by default - switch 'allowCustomIsolationLevels' to 'true'"
3: invokespecial org.springframework.transaction.InvalidIsolationLevelException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 5 1 txObject Lorg/springframework/transaction/jta/JtaTransactionObject;
0 5 2 isolationLevel I
Exceptions:
throws org.springframework.transaction.InvalidIsolationLevelException, javax.transaction.SystemException
MethodParameters:
Name Flags
txObject
isolationLevel
protected void applyTimeout(org.springframework.transaction.jta.JtaTransactionObject, int);
descriptor: (Lorg/springframework/transaction/jta/JtaTransactionObject;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iconst_m1
if_icmple 4
1: aload 1
invokevirtual org.springframework.transaction.jta.JtaTransactionObject.getUserTransaction:()Ljavax/transaction/UserTransaction;
iload 2
invokeinterface javax.transaction.UserTransaction.setTransactionTimeout:(I)V
2: iload 2
ifle 4
3: aload 1
iconst_1
putfield org.springframework.transaction.jta.JtaTransactionObject.resetTransactionTimeout:Z
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 5 1 txObject Lorg/springframework/transaction/jta/JtaTransactionObject;
0 5 2 timeout I
Exceptions:
throws javax.transaction.SystemException
MethodParameters:
Name Flags
txObject
timeout
protected java.lang.Object doSuspend(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
checkcast org.springframework.transaction.jta.JtaTransactionObject
astore 2
start local 2 1: aload 0
aload 2
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.doJtaSuspend:(Lorg/springframework/transaction/jta/JtaTransactionObject;)Ljava/lang/Object;
2: areturn
3: StackMap locals: org.springframework.transaction.jta.JtaTransactionManager java.lang.Object org.springframework.transaction.jta.JtaTransactionObject
StackMap stack: javax.transaction.SystemException
astore 3
start local 3 4: new org.springframework.transaction.TransactionSystemException
dup
ldc "JTA failure on suspend"
aload 3
invokespecial org.springframework.transaction.TransactionSystemException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 5 1 transaction Ljava/lang/Object;
1 5 2 txObject Lorg/springframework/transaction/jta/JtaTransactionObject;
4 5 3 ex Ljavax/transaction/SystemException;
Exception table:
from to target type
1 2 3 Class javax.transaction.SystemException
MethodParameters:
Name Flags
transaction
protected java.lang.Object doJtaSuspend(org.springframework.transaction.jta.JtaTransactionObject);
descriptor: (Lorg/springframework/transaction/jta/JtaTransactionObject;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.getTransactionManager:()Ljavax/transaction/TransactionManager;
ifnonnull 4
1: new org.springframework.transaction.TransactionSuspensionNotSupportedException
dup
2: ldc "JtaTransactionManager needs a JTA TransactionManager for suspending a transaction: specify the 'transactionManager' or 'transactionManagerName' property"
3: invokespecial org.springframework.transaction.TransactionSuspensionNotSupportedException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.getTransactionManager:()Ljavax/transaction/TransactionManager;
invokeinterface javax.transaction.TransactionManager.suspend:()Ljavax/transaction/Transaction;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 5 1 txObject Lorg/springframework/transaction/jta/JtaTransactionObject;
Exceptions:
throws javax.transaction.SystemException
MethodParameters:
Name Flags
txObject
protected void doResume(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast org.springframework.transaction.jta.JtaTransactionObject
astore 3
start local 3 1: aload 0
aload 3
aload 2
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.doJtaResume:(Lorg/springframework/transaction/jta/JtaTransactionObject;Ljava/lang/Object;)V
2: goto 9
3: StackMap locals: org.springframework.transaction.jta.JtaTransactionManager java.lang.Object java.lang.Object org.springframework.transaction.jta.JtaTransactionObject
StackMap stack: javax.transaction.InvalidTransactionException
astore 4
start local 4 4: new org.springframework.transaction.IllegalTransactionStateException
dup
ldc "Tried to resume invalid JTA transaction"
aload 4
invokespecial org.springframework.transaction.IllegalTransactionStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 5: StackMap locals:
StackMap stack: java.lang.IllegalStateException
astore 4
start local 4 6: new org.springframework.transaction.TransactionSystemException
dup
ldc "Unexpected internal transaction state"
aload 4
invokespecial org.springframework.transaction.TransactionSystemException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 7: StackMap locals:
StackMap stack: javax.transaction.SystemException
astore 4
start local 4 8: new org.springframework.transaction.TransactionSystemException
dup
ldc "JTA failure on resume"
aload 4
invokespecial org.springframework.transaction.TransactionSystemException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 9: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 10 1 transaction Ljava/lang/Object;
0 10 2 suspendedResources Ljava/lang/Object;
1 10 3 txObject Lorg/springframework/transaction/jta/JtaTransactionObject;
4 5 4 ex Ljavax/transaction/InvalidTransactionException;
6 7 4 ex Ljava/lang/IllegalStateException;
8 9 4 ex Ljavax/transaction/SystemException;
Exception table:
from to target type
1 2 3 Class javax.transaction.InvalidTransactionException
1 2 5 Class java.lang.IllegalStateException
1 2 7 Class javax.transaction.SystemException
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
MethodParameters:
Name Flags
transaction
suspendedResources
protected void doJtaResume(org.springframework.transaction.jta.JtaTransactionObject, java.lang.Object);
descriptor: (Lorg/springframework/transaction/jta/JtaTransactionObject;Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.getTransactionManager:()Ljavax/transaction/TransactionManager;
ifnonnull 4
1: new org.springframework.transaction.TransactionSuspensionNotSupportedException
dup
2: ldc "JtaTransactionManager needs a JTA TransactionManager for suspending a transaction: specify the 'transactionManager' or 'transactionManagerName' property"
3: invokespecial org.springframework.transaction.TransactionSuspensionNotSupportedException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.getTransactionManager:()Ljavax/transaction/TransactionManager;
aload 2
checkcast javax.transaction.Transaction
invokeinterface javax.transaction.TransactionManager.resume:(Ljavax/transaction/Transaction;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 6 1 txObject Lorg/springframework/transaction/jta/JtaTransactionObject;
0 6 2 suspendedTransaction Ljava/lang/Object;
Exceptions:
throws javax.transaction.InvalidTransactionException, javax.transaction.SystemException
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
MethodParameters:
Name Flags
txObject
suspendedTransaction
protected boolean shouldCommitOnGlobalRollbackOnly();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
protected void doCommit(org.springframework.transaction.support.DefaultTransactionStatus);
descriptor: (Lorg/springframework/transaction/support/DefaultTransactionStatus;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.springframework.transaction.support.DefaultTransactionStatus.getTransaction:()Ljava/lang/Object;
checkcast org.springframework.transaction.jta.JtaTransactionObject
astore 2
start local 2 1: aload 2
invokevirtual org.springframework.transaction.jta.JtaTransactionObject.getUserTransaction:()Ljavax/transaction/UserTransaction;
invokeinterface javax.transaction.UserTransaction.getStatus:()I
istore 3
start local 3 2: iload 3
bipush 6
if_icmpne 4
3: new org.springframework.transaction.UnexpectedRollbackException
dup
ldc "JTA transaction already completed - probably rolled back"
invokespecial org.springframework.transaction.UnexpectedRollbackException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: org.springframework.transaction.jta.JtaTransactionObject int
StackMap stack:
iload 3
iconst_4
if_icmpne 11
5: aload 2
invokevirtual org.springframework.transaction.jta.JtaTransactionObject.getUserTransaction:()Ljavax/transaction/UserTransaction;
invokeinterface javax.transaction.UserTransaction.rollback:()V
6: goto 10
7: StackMap locals:
StackMap stack: java.lang.IllegalStateException
astore 4
start local 4 8: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 10
9: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Rollback failure with transaction already marked as rolled back: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
end local 4 10: StackMap locals:
StackMap stack:
new org.springframework.transaction.UnexpectedRollbackException
dup
ldc "JTA transaction already rolled back (probably due to a timeout)"
invokespecial org.springframework.transaction.UnexpectedRollbackException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.springframework.transaction.jta.JtaTransactionObject.getUserTransaction:()Ljavax/transaction/UserTransaction;
invokeinterface javax.transaction.UserTransaction.commit:()V
end local 3 12: goto 25
13: StackMap locals: org.springframework.transaction.jta.JtaTransactionManager org.springframework.transaction.support.DefaultTransactionStatus org.springframework.transaction.jta.JtaTransactionObject
StackMap stack: javax.transaction.RollbackException
astore 3
start local 3 14: new org.springframework.transaction.UnexpectedRollbackException
dup
15: ldc "JTA transaction unexpectedly rolled back (maybe due to a timeout)"
aload 3
16: invokespecial org.springframework.transaction.UnexpectedRollbackException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 17: StackMap locals:
StackMap stack: javax.transaction.HeuristicMixedException
astore 3
start local 3 18: new org.springframework.transaction.HeuristicCompletionException
dup
iconst_3
aload 3
invokespecial org.springframework.transaction.HeuristicCompletionException.<init>:(ILjava/lang/Throwable;)V
athrow
end local 3 19: StackMap locals:
StackMap stack: javax.transaction.HeuristicRollbackException
astore 3
start local 3 20: new org.springframework.transaction.HeuristicCompletionException
dup
iconst_2
aload 3
invokespecial org.springframework.transaction.HeuristicCompletionException.<init>:(ILjava/lang/Throwable;)V
athrow
end local 3 21: StackMap locals:
StackMap stack: java.lang.IllegalStateException
astore 3
start local 3 22: new org.springframework.transaction.TransactionSystemException
dup
ldc "Unexpected internal transaction state"
aload 3
invokespecial org.springframework.transaction.TransactionSystemException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 23: StackMap locals:
StackMap stack: javax.transaction.SystemException
astore 3
start local 3 24: new org.springframework.transaction.TransactionSystemException
dup
ldc "JTA failure on commit"
aload 3
invokespecial org.springframework.transaction.TransactionSystemException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 25: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 26 1 status Lorg/springframework/transaction/support/DefaultTransactionStatus;
1 26 2 txObject Lorg/springframework/transaction/jta/JtaTransactionObject;
2 12 3 jtaStatus I
8 10 4 ex Ljava/lang/IllegalStateException;
14 17 3 ex Ljavax/transaction/RollbackException;
18 19 3 ex Ljavax/transaction/HeuristicMixedException;
20 21 3 ex Ljavax/transaction/HeuristicRollbackException;
22 23 3 ex Ljava/lang/IllegalStateException;
24 25 3 ex Ljavax/transaction/SystemException;
Exception table:
from to target type
5 6 7 Class java.lang.IllegalStateException
1 12 13 Class javax.transaction.RollbackException
1 12 17 Class javax.transaction.HeuristicMixedException
1 12 19 Class javax.transaction.HeuristicRollbackException
1 12 21 Class java.lang.IllegalStateException
1 12 23 Class javax.transaction.SystemException
MethodParameters:
Name Flags
status
protected void doRollback(org.springframework.transaction.support.DefaultTransactionStatus);
descriptor: (Lorg/springframework/transaction/support/DefaultTransactionStatus;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.springframework.transaction.support.DefaultTransactionStatus.getTransaction:()Ljava/lang/Object;
checkcast org.springframework.transaction.jta.JtaTransactionObject
astore 2
start local 2 1: aload 2
invokevirtual org.springframework.transaction.jta.JtaTransactionObject.getUserTransaction:()Ljavax/transaction/UserTransaction;
invokeinterface javax.transaction.UserTransaction.getStatus:()I
istore 3
start local 3 2: iload 3
bipush 6
if_icmpeq 13
3: aload 2
invokevirtual org.springframework.transaction.jta.JtaTransactionObject.getUserTransaction:()Ljavax/transaction/UserTransaction;
invokeinterface javax.transaction.UserTransaction.rollback:()V
4: goto 13
5: StackMap locals: org.springframework.transaction.jta.JtaTransactionManager org.springframework.transaction.support.DefaultTransactionStatus org.springframework.transaction.jta.JtaTransactionObject int
StackMap stack: java.lang.IllegalStateException
astore 4
start local 4 6: iload 3
iconst_4
if_icmpne 10
7: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 13
8: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Rollback failure with transaction already marked as rolled back: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
9: goto 13
10: StackMap locals: java.lang.IllegalStateException
StackMap stack:
new org.springframework.transaction.TransactionSystemException
dup
ldc "Unexpected internal transaction state"
aload 4
invokespecial org.springframework.transaction.TransactionSystemException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 11: StackMap locals: org.springframework.transaction.jta.JtaTransactionManager org.springframework.transaction.support.DefaultTransactionStatus org.springframework.transaction.jta.JtaTransactionObject
StackMap stack: javax.transaction.SystemException
astore 3
start local 3 12: new org.springframework.transaction.TransactionSystemException
dup
ldc "JTA failure on rollback"
aload 3
invokespecial org.springframework.transaction.TransactionSystemException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 13: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 14 1 status Lorg/springframework/transaction/support/DefaultTransactionStatus;
1 14 2 txObject Lorg/springframework/transaction/jta/JtaTransactionObject;
2 11 3 jtaStatus I
6 11 4 ex Ljava/lang/IllegalStateException;
12 13 3 ex Ljavax/transaction/SystemException;
Exception table:
from to target type
3 4 5 Class java.lang.IllegalStateException
1 11 11 Class javax.transaction.SystemException
MethodParameters:
Name Flags
status
protected void doSetRollbackOnly(org.springframework.transaction.support.DefaultTransactionStatus);
descriptor: (Lorg/springframework/transaction/support/DefaultTransactionStatus;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.springframework.transaction.support.DefaultTransactionStatus.getTransaction:()Ljava/lang/Object;
checkcast org.springframework.transaction.jta.JtaTransactionObject
astore 2
start local 2 1: aload 1
invokevirtual org.springframework.transaction.support.DefaultTransactionStatus.isDebug:()Z
ifeq 3
2: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
ldc "Setting JTA transaction rollback-only"
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
3: StackMap locals: org.springframework.transaction.jta.JtaTransactionObject
StackMap stack:
aload 2
invokevirtual org.springframework.transaction.jta.JtaTransactionObject.getUserTransaction:()Ljavax/transaction/UserTransaction;
invokeinterface javax.transaction.UserTransaction.getStatus:()I
istore 3
start local 3 4: iload 3
bipush 6
if_icmpeq 11
iload 3
iconst_4
if_icmpeq 11
5: aload 2
invokevirtual org.springframework.transaction.jta.JtaTransactionObject.getUserTransaction:()Ljavax/transaction/UserTransaction;
invokeinterface javax.transaction.UserTransaction.setRollbackOnly:()V
end local 3 6: goto 11
7: StackMap locals:
StackMap stack: java.lang.IllegalStateException
astore 3
start local 3 8: new org.springframework.transaction.TransactionSystemException
dup
ldc "Unexpected internal transaction state"
aload 3
invokespecial org.springframework.transaction.TransactionSystemException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 9: StackMap locals:
StackMap stack: javax.transaction.SystemException
astore 3
start local 3 10: new org.springframework.transaction.TransactionSystemException
dup
ldc "JTA failure on setRollbackOnly"
aload 3
invokespecial org.springframework.transaction.TransactionSystemException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 11: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 12 1 status Lorg/springframework/transaction/support/DefaultTransactionStatus;
1 12 2 txObject Lorg/springframework/transaction/jta/JtaTransactionObject;
4 6 3 jtaStatus I
8 9 3 ex Ljava/lang/IllegalStateException;
10 11 3 ex Ljavax/transaction/SystemException;
Exception table:
from to target type
3 6 7 Class java.lang.IllegalStateException
3 6 9 Class javax.transaction.SystemException
MethodParameters:
Name Flags
status
protected void registerAfterCompletionWithExistingTransaction(, java.util.List<org.springframework.transaction.support.TransactionSynchronization>);
descriptor: (Ljava/lang/Object;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast org.springframework.transaction.jta.JtaTransactionObject
astore 3
start local 3 1: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
ldc "Registering after-completion synchronization with existing JTA transaction"
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
2: aload 0
aload 3
aload 2
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.doRegisterAfterCompletionWithJtaTransaction:(Lorg/springframework/transaction/jta/JtaTransactionObject;Ljava/util/List;)V
3: goto 17
4: StackMap locals: org.springframework.transaction.jta.JtaTransactionManager java.lang.Object java.util.List org.springframework.transaction.jta.JtaTransactionObject
StackMap stack: javax.transaction.SystemException
astore 4
start local 4 5: new org.springframework.transaction.TransactionSystemException
dup
ldc "JTA failure on registerSynchronization"
aload 4
invokespecial org.springframework.transaction.TransactionSystemException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 6: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 7: aload 4
instanceof javax.transaction.RollbackException
ifne 8
aload 4
invokevirtual java.lang.Exception.getCause:()Ljava/lang/Throwable;
instanceof javax.transaction.RollbackException
ifeq 13
8: StackMap locals: java.lang.Exception
StackMap stack:
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Participating in existing JTA transaction that has been marked for rollback: cannot register Spring after-completion callbacks with outer JTA transaction - immediately performing Spring after-completion callbacks with outcome status 'rollback'. Original exception: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
11: aload 0
aload 2
iconst_1
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.invokeAfterCompletion:(Ljava/util/List;I)V
12: goto 17
13: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Participating in existing JTA transaction, but unexpected internal transaction state encountered: cannot register Spring after-completion callbacks with outer JTA transaction - processing Spring after-completion callbacks with outcome status 'unknown'Original exception: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
14: aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
16: aload 0
aload 2
iconst_2
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.invokeAfterCompletion:(Ljava/util/List;I)V
end local 4 17: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 18 1 transaction Ljava/lang/Object;
0 18 2 synchronizations Ljava/util/List<Lorg/springframework/transaction/support/TransactionSynchronization;>;
1 18 3 txObject Lorg/springframework/transaction/jta/JtaTransactionObject;
5 6 4 ex Ljavax/transaction/SystemException;
7 17 4 ex Ljava/lang/Exception;
Exception table:
from to target type
2 3 4 Class javax.transaction.SystemException
2 3 6 Class java.lang.Exception
Signature: (Ljava/lang/Object;Ljava/util/List<Lorg/springframework/transaction/support/TransactionSynchronization;>;)V
MethodParameters:
Name Flags
transaction
synchronizations
protected void doRegisterAfterCompletionWithJtaTransaction(org.springframework.transaction.jta.JtaTransactionObject, java.util.List<org.springframework.transaction.support.TransactionSynchronization>);
descriptor: (Lorg/springframework/transaction/jta/JtaTransactionObject;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.springframework.transaction.jta.JtaTransactionObject.getUserTransaction:()Ljavax/transaction/UserTransaction;
invokeinterface javax.transaction.UserTransaction.getStatus:()I
istore 3
start local 3 1: iload 3
bipush 6
if_icmpne 3
2: new javax.transaction.RollbackException
dup
ldc "JTA transaction already completed - probably rolled back"
invokespecial javax.transaction.RollbackException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: int
StackMap stack:
iload 3
iconst_4
if_icmpne 5
4: new javax.transaction.RollbackException
dup
ldc "JTA transaction already rolled back (probably due to a timeout)"
invokespecial javax.transaction.RollbackException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionSynchronizationRegistry:Ljavax/transaction/TransactionSynchronizationRegistry;
ifnull 10
6: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.transactionSynchronizationRegistry:Ljavax/transaction/TransactionSynchronizationRegistry;
7: new org.springframework.transaction.jta.JtaAfterCompletionSynchronization
dup
aload 2
invokespecial org.springframework.transaction.jta.JtaAfterCompletionSynchronization.<init>:(Ljava/util/List;)V
8: invokeinterface javax.transaction.TransactionSynchronizationRegistry.registerInterposedSynchronization:(Ljavax/transaction/Synchronization;)V
9: goto 18
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.getTransactionManager:()Ljavax/transaction/TransactionManager;
ifnull 16
11: aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.getTransactionManager:()Ljavax/transaction/TransactionManager;
invokeinterface javax.transaction.TransactionManager.getTransaction:()Ljavax/transaction/Transaction;
astore 4
start local 4 12: aload 4
ifnonnull 14
13: new java.lang.IllegalStateException
dup
ldc "No JTA Transaction available"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals: javax.transaction.Transaction
StackMap stack:
aload 4
new org.springframework.transaction.jta.JtaAfterCompletionSynchronization
dup
aload 2
invokespecial org.springframework.transaction.jta.JtaAfterCompletionSynchronization.<init>:(Ljava/util/List;)V
invokeinterface javax.transaction.Transaction.registerSynchronization:(Ljavax/transaction/Synchronization;)V
end local 4 15: goto 18
16: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
ldc "Participating in existing JTA transaction, but no JTA TransactionManager available: cannot register Spring after-completion callbacks with outer JTA transaction - processing Spring after-completion callbacks with outcome status 'unknown'"
invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
17: aload 0
aload 2
iconst_2
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.invokeAfterCompletion:(Ljava/util/List;I)V
18: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 19 1 txObject Lorg/springframework/transaction/jta/JtaTransactionObject;
0 19 2 synchronizations Ljava/util/List<Lorg/springframework/transaction/support/TransactionSynchronization;>;
1 19 3 jtaStatus I
12 15 4 transaction Ljavax/transaction/Transaction;
Exceptions:
throws javax.transaction.RollbackException, javax.transaction.SystemException
Signature: (Lorg/springframework/transaction/jta/JtaTransactionObject;Ljava/util/List<Lorg/springframework/transaction/support/TransactionSynchronization;>;)V
MethodParameters:
Name Flags
txObject
synchronizations
protected void doCleanupAfterCompletion(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
checkcast org.springframework.transaction.jta.JtaTransactionObject
astore 2
start local 2 1: aload 2
getfield org.springframework.transaction.jta.JtaTransactionObject.resetTransactionTimeout:Z
ifeq 6
2: aload 2
invokevirtual org.springframework.transaction.jta.JtaTransactionObject.getUserTransaction:()Ljavax/transaction/UserTransaction;
iconst_0
invokeinterface javax.transaction.UserTransaction.setTransactionTimeout:(I)V
3: goto 6
4: StackMap locals: org.springframework.transaction.jta.JtaTransactionManager java.lang.Object org.springframework.transaction.jta.JtaTransactionObject
StackMap stack: javax.transaction.SystemException
astore 3
start local 3 5: aload 0
getfield org.springframework.transaction.jta.JtaTransactionManager.logger:Lorg/apache/commons/logging/Log;
ldc "Failed to reset transaction timeout after JTA completion"
aload 3
invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 3 6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 7 1 transaction Ljava/lang/Object;
1 7 2 txObject Lorg/springframework/transaction/jta/JtaTransactionObject;
5 6 3 ex Ljavax/transaction/SystemException;
Exception table:
from to target type
2 3 4 Class javax.transaction.SystemException
MethodParameters:
Name Flags
transaction
public javax.transaction.Transaction createTransaction(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljavax/transaction/Transaction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.getTransactionManager:()Ljavax/transaction/TransactionManager;
astore 3
start local 3 1: aload 3
ifnull 2
iconst_1
goto 3
StackMap locals: javax.transaction.TransactionManager
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ldc "No JTA TransactionManager available"
invokestatic org.springframework.util.Assert.state:(ZLjava/lang/String;)V
4: iload 2
iflt 6
5: aload 3
iload 2
invokeinterface javax.transaction.TransactionManager.setTransactionTimeout:(I)V
6: StackMap locals:
StackMap stack:
aload 3
invokeinterface javax.transaction.TransactionManager.begin:()V
7: new org.springframework.transaction.jta.ManagedTransactionAdapter
dup
aload 3
invokespecial org.springframework.transaction.jta.ManagedTransactionAdapter.<init>:(Ljavax/transaction/TransactionManager;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 8 1 name Ljava/lang/String;
0 8 2 timeout I
1 8 3 tm Ljavax/transaction/TransactionManager;
Exceptions:
throws javax.transaction.NotSupportedException, javax.transaction.SystemException
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
1:
MethodParameters:
Name Flags
name
timeout
public boolean supportsResourceAdapterManagedTransactions();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
1: aload 0
new org.springframework.jndi.JndiTemplate
dup
invokespecial org.springframework.jndi.JndiTemplate.<init>:()V
putfield org.springframework.transaction.jta.JtaTransactionManager.jndiTemplate:Lorg/springframework/jndi/JndiTemplate;
2: aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.initUserTransactionAndTransactionManager:()V
3: aload 0
invokevirtual org.springframework.transaction.jta.JtaTransactionManager.initTransactionSynchronizationRegistry:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/springframework/transaction/jta/JtaTransactionManager;
0 5 1 ois Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
ois
}
SourceFile: "JtaTransactionManager.java"