public class org.springframework.data.transaction.ChainedTransactionManager implements org.springframework.transaction.PlatformTransactionManager
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.data.transaction.ChainedTransactionManager
super_class: java.lang.Object
{
private static final org.slf4j.Logger LOGGER;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.List<org.springframework.transaction.PlatformTransactionManager> transactionManagers;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/springframework/transaction/PlatformTransactionManager;>;
private final org.springframework.data.transaction.SynchronizationManager synchronizationManager;
descriptor: Lorg/springframework/data/transaction/SynchronizationManager;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/springframework/data/transaction/ChainedTransactionManager;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.springframework.data.transaction.ChainedTransactionManager.LOGGER:Lorg/slf4j/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.springframework.transaction.PlatformTransactionManager[]);
descriptor: ([Lorg/springframework/transaction/PlatformTransactionManager;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic org.springframework.data.transaction.SpringTransactionSynchronizationManager.INSTANCE:Lorg/springframework/data/transaction/SpringTransactionSynchronizationManager;
aload 1
invokespecial org.springframework.data.transaction.ChainedTransactionManager.<init>:(Lorg/springframework/data/transaction/SynchronizationManager;[Lorg/springframework/transaction/PlatformTransactionManager;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/data/transaction/ChainedTransactionManager;
0 2 1 transactionManagers [Lorg/springframework/transaction/PlatformTransactionManager;
MethodParameters:
Name Flags
transactionManagers
void <init>(org.springframework.data.transaction.SynchronizationManager, org.springframework.transaction.PlatformTransactionManager[]);
descriptor: (Lorg/springframework/data/transaction/SynchronizationManager;[Lorg/springframework/transaction/PlatformTransactionManager;)V
flags: (0x0080) ACC_VARARGS
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "SynchronizationManager must not be null!"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
2: aload 2
ldc "Transaction managers must not be null!"
invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
3: aload 2
arraylength
ifle 4
iconst_1
goto 5
StackMap locals: org.springframework.data.transaction.ChainedTransactionManager org.springframework.data.transaction.SynchronizationManager org.springframework.transaction.PlatformTransactionManager[]
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: ldc "At least one PlatformTransactionManager must be given!"
invokestatic org.springframework.util.Assert.isTrue:(ZLjava/lang/String;)V
6: aload 0
aload 1
putfield org.springframework.data.transaction.ChainedTransactionManager.synchronizationManager:Lorg/springframework/data/transaction/SynchronizationManager;
7: aload 0
aload 2
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
putfield org.springframework.data.transaction.ChainedTransactionManager.transactionManagers:Ljava/util/List;
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/springframework/data/transaction/ChainedTransactionManager;
0 9 1 synchronizationManager Lorg/springframework/data/transaction/SynchronizationManager;
0 9 2 transactionManagers [Lorg/springframework/transaction/PlatformTransactionManager;
MethodParameters:
Name Flags
synchronizationManager
transactionManagers
public org.springframework.data.transaction.MultiTransactionStatus getTransaction(org.springframework.transaction.TransactionDefinition);
descriptor: (Lorg/springframework/transaction/TransactionDefinition;)Lorg/springframework/data/transaction/MultiTransactionStatus;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: new org.springframework.data.transaction.MultiTransactionStatus
dup
aload 0
getfield org.springframework.data.transaction.ChainedTransactionManager.transactionManagers:Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.springframework.transaction.PlatformTransactionManager
invokespecial org.springframework.data.transaction.MultiTransactionStatus.<init>:(Lorg/springframework/transaction/PlatformTransactionManager;)V
astore 2
start local 2 1: aload 1
ifnonnull 3
2: aload 2
areturn
3: StackMap locals: org.springframework.data.transaction.MultiTransactionStatus
StackMap stack:
aload 0
getfield org.springframework.data.transaction.ChainedTransactionManager.synchronizationManager:Lorg/springframework/data/transaction/SynchronizationManager;
invokeinterface org.springframework.data.transaction.SynchronizationManager.isSynchronizationActive:()Z
ifne 6
4: aload 0
getfield org.springframework.data.transaction.ChainedTransactionManager.synchronizationManager:Lorg/springframework/data/transaction/SynchronizationManager;
invokeinterface org.springframework.data.transaction.SynchronizationManager.initSynchronization:()V
5: aload 2
invokevirtual org.springframework.data.transaction.MultiTransactionStatus.setNewSynchonization:()V
6: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.data.transaction.ChainedTransactionManager.transactionManagers:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: org.springframework.data.transaction.ChainedTransactionManager org.springframework.transaction.TransactionDefinition org.springframework.data.transaction.MultiTransactionStatus top java.util.Iterator
StackMap stack:
7: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.transaction.PlatformTransactionManager
astore 3
start local 3 8: aload 2
aload 1
aload 3
invokevirtual org.springframework.data.transaction.MultiTransactionStatus.registerTransactionManager:(Lorg/springframework/transaction/TransactionDefinition;Lorg/springframework/transaction/PlatformTransactionManager;)V
end local 3 9: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
10: goto 24
StackMap locals: org.springframework.data.transaction.ChainedTransactionManager org.springframework.transaction.TransactionDefinition org.springframework.data.transaction.MultiTransactionStatus
StackMap stack: java.lang.Exception
11: astore 3
start local 3 12: aload 2
invokevirtual org.springframework.data.transaction.MultiTransactionStatus.getTransactionStatuses:()Ljava/util/Map;
astore 4
start local 4 13: aload 0
getfield org.springframework.data.transaction.ChainedTransactionManager.transactionManagers:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 20
StackMap locals: org.springframework.data.transaction.ChainedTransactionManager org.springframework.transaction.TransactionDefinition org.springframework.data.transaction.MultiTransactionStatus java.lang.Exception java.util.Map top java.util.Iterator
StackMap stack:
14: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.transaction.PlatformTransactionManager
astore 5
start local 5 15: aload 4
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 20
16: aload 5
aload 4
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.springframework.transaction.TransactionStatus
invokeinterface org.springframework.transaction.PlatformTransactionManager.rollback:(Lorg/springframework/transaction/TransactionStatus;)V
17: goto 20
StackMap locals: org.springframework.data.transaction.ChainedTransactionManager org.springframework.transaction.TransactionDefinition org.springframework.data.transaction.MultiTransactionStatus java.lang.Exception java.util.Map org.springframework.transaction.PlatformTransactionManager java.util.Iterator
StackMap stack: java.lang.Exception
18: astore 7
start local 7 19: getstatic org.springframework.data.transaction.ChainedTransactionManager.LOGGER:Lorg/slf4j/Logger;
new java.lang.StringBuilder
dup
ldc "Rollback exception ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 7
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 7 end local 5 20: StackMap locals: org.springframework.data.transaction.ChainedTransactionManager org.springframework.transaction.TransactionDefinition org.springframework.data.transaction.MultiTransactionStatus java.lang.Exception java.util.Map top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
21: aload 2
invokevirtual org.springframework.data.transaction.MultiTransactionStatus.isNewSynchonization:()Z
ifeq 23
22: aload 0
getfield org.springframework.data.transaction.ChainedTransactionManager.synchronizationManager:Lorg/springframework/data/transaction/SynchronizationManager;
invokeinterface org.springframework.data.transaction.SynchronizationManager.clearSynchronization:()V
23: StackMap locals: org.springframework.data.transaction.ChainedTransactionManager org.springframework.transaction.TransactionDefinition org.springframework.data.transaction.MultiTransactionStatus java.lang.Exception java.util.Map
StackMap stack:
new org.springframework.transaction.CannotCreateTransactionException
dup
aload 3
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
aload 3
invokespecial org.springframework.transaction.CannotCreateTransactionException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 24: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/springframework/data/transaction/ChainedTransactionManager;
0 25 1 definition Lorg/springframework/transaction/TransactionDefinition;
1 25 2 mts Lorg/springframework/data/transaction/MultiTransactionStatus;
8 9 3 transactionManager Lorg/springframework/transaction/PlatformTransactionManager;
12 24 3 ex Ljava/lang/Exception;
13 24 4 transactionStatuses Ljava/util/Map<Lorg/springframework/transaction/PlatformTransactionManager;Lorg/springframework/transaction/TransactionStatus;>;
15 20 5 transactionManager Lorg/springframework/transaction/PlatformTransactionManager;
19 20 7 ex2 Ljava/lang/Exception;
Exception table:
from to target type
6 10 11 Class java.lang.Exception
15 17 18 Class java.lang.Exception
Exceptions:
throws org.springframework.transaction.TransactionException
RuntimeVisibleParameterAnnotations:
0:
org.springframework.lang.Nullable()
MethodParameters:
Name Flags
definition
public void commit(org.springframework.transaction.TransactionStatus);
descriptor: (Lorg/springframework/transaction/TransactionStatus;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 1
checkcast org.springframework.data.transaction.MultiTransactionStatus
astore 2
start local 2 1: iconst_1
istore 3
start local 3 2: aconst_null
astore 4
start local 4 3: aconst_null
astore 5
start local 5 4: aload 0
aload 0
getfield org.springframework.data.transaction.ChainedTransactionManager.transactionManagers:Ljava/util/List;
invokevirtual org.springframework.data.transaction.ChainedTransactionManager.reverse:(Ljava/util/Collection;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 7
goto 18
StackMap locals: org.springframework.data.transaction.ChainedTransactionManager org.springframework.transaction.TransactionStatus org.springframework.data.transaction.MultiTransactionStatus int java.lang.Exception org.springframework.transaction.PlatformTransactionManager top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.transaction.PlatformTransactionManager
astore 6
start local 6 6: iload 3
ifeq 14
7: aload 2
aload 6
invokevirtual org.springframework.data.transaction.MultiTransactionStatus.commit:(Lorg/springframework/transaction/PlatformTransactionManager;)V
8: goto 18
StackMap locals: org.springframework.data.transaction.ChainedTransactionManager org.springframework.transaction.TransactionStatus org.springframework.data.transaction.MultiTransactionStatus int java.lang.Exception org.springframework.transaction.PlatformTransactionManager org.springframework.transaction.PlatformTransactionManager java.util.Iterator
StackMap stack: java.lang.Exception
9: astore 8
start local 8 10: iconst_0
istore 3
11: aload 8
astore 4
12: aload 6
astore 5
end local 8 13: goto 18
14: StackMap locals:
StackMap stack:
aload 2
aload 6
invokevirtual org.springframework.data.transaction.MultiTransactionStatus.rollback:(Lorg/springframework/transaction/PlatformTransactionManager;)V
15: goto 18
StackMap locals:
StackMap stack: java.lang.Exception
16: astore 8
start local 8 17: getstatic org.springframework.data.transaction.ChainedTransactionManager.LOGGER:Lorg/slf4j/Logger;
new java.lang.StringBuilder
dup
ldc "Rollback exception (after commit) ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 8
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 8 end local 6 18: StackMap locals: org.springframework.data.transaction.ChainedTransactionManager org.springframework.transaction.TransactionStatus org.springframework.data.transaction.MultiTransactionStatus int java.lang.Exception org.springframework.transaction.PlatformTransactionManager top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
19: aload 2
invokevirtual org.springframework.data.transaction.MultiTransactionStatus.isNewSynchonization:()Z
ifeq 21
20: aload 0
getfield org.springframework.data.transaction.ChainedTransactionManager.synchronizationManager:Lorg/springframework/data/transaction/SynchronizationManager;
invokeinterface org.springframework.data.transaction.SynchronizationManager.clearSynchronization:()V
21: StackMap locals: org.springframework.data.transaction.ChainedTransactionManager org.springframework.transaction.TransactionStatus org.springframework.data.transaction.MultiTransactionStatus int java.lang.Exception org.springframework.transaction.PlatformTransactionManager
StackMap stack:
aload 4
ifnull 29
22: aload 5
aload 0
invokevirtual org.springframework.data.transaction.ChainedTransactionManager.getLastTransactionManager:()Lorg/springframework/transaction/PlatformTransactionManager;
if_acmpne 23
iconst_1
goto 24
StackMap locals:
StackMap stack:
23: iconst_0
StackMap locals:
StackMap stack: int
24: istore 6
start local 6 25: iload 6
ifeq 26
iconst_2
goto 27
26: StackMap locals: int
StackMap stack:
iconst_3
27: StackMap locals:
StackMap stack: int
istore 7
start local 7 28: new org.springframework.transaction.HeuristicCompletionException
dup
iload 7
aload 4
invokespecial org.springframework.transaction.HeuristicCompletionException.<init>:(ILjava/lang/Throwable;)V
athrow
end local 7 end local 6 29: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/springframework/data/transaction/ChainedTransactionManager;
0 30 1 status Lorg/springframework/transaction/TransactionStatus;
1 30 2 multiTransactionStatus Lorg/springframework/data/transaction/MultiTransactionStatus;
2 30 3 commit Z
3 30 4 commitException Ljava/lang/Exception;
4 30 5 commitExceptionTransactionManager Lorg/springframework/transaction/PlatformTransactionManager;
6 18 6 transactionManager Lorg/springframework/transaction/PlatformTransactionManager;
10 13 8 ex Ljava/lang/Exception;
17 18 8 ex Ljava/lang/Exception;
25 29 6 firstTransactionManagerFailed Z
28 29 7 transactionState I
Exception table:
from to target type
7 8 9 Class java.lang.Exception
14 15 16 Class java.lang.Exception
Exceptions:
throws org.springframework.transaction.TransactionException
MethodParameters:
Name Flags
status
public void rollback(org.springframework.transaction.TransactionStatus);
descriptor: (Lorg/springframework/transaction/TransactionStatus;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 1
checkcast org.springframework.data.transaction.MultiTransactionStatus
astore 4
start local 4 3: aload 0
aload 0
getfield org.springframework.data.transaction.ChainedTransactionManager.transactionManagers:Ljava/util/List;
invokevirtual org.springframework.data.transaction.ChainedTransactionManager.reverse:(Ljava/util/Collection;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
goto 13
StackMap locals: org.springframework.data.transaction.ChainedTransactionManager org.springframework.transaction.TransactionStatus java.lang.Exception org.springframework.transaction.PlatformTransactionManager org.springframework.data.transaction.MultiTransactionStatus top java.util.Iterator
StackMap stack:
4: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.springframework.transaction.PlatformTransactionManager
astore 5
start local 5 5: aload 4
aload 5
invokevirtual org.springframework.data.transaction.MultiTransactionStatus.rollback:(Lorg/springframework/transaction/PlatformTransactionManager;)V
6: goto 13
StackMap locals: org.springframework.data.transaction.ChainedTransactionManager org.springframework.transaction.TransactionStatus java.lang.Exception org.springframework.transaction.PlatformTransactionManager org.springframework.data.transaction.MultiTransactionStatus org.springframework.transaction.PlatformTransactionManager java.util.Iterator
StackMap stack: java.lang.Exception
7: astore 7
start local 7 8: aload 2
ifnonnull 12
9: aload 7
astore 2
10: aload 5
astore 3
11: goto 13
12: StackMap locals: java.lang.Exception
StackMap stack:
getstatic org.springframework.data.transaction.ChainedTransactionManager.LOGGER:Lorg/slf4j/Logger;
new java.lang.StringBuilder
dup
ldc "Rollback exception ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 7
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 7 end local 5 13: StackMap locals: org.springframework.data.transaction.ChainedTransactionManager org.springframework.transaction.TransactionStatus java.lang.Exception org.springframework.transaction.PlatformTransactionManager org.springframework.data.transaction.MultiTransactionStatus top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
14: aload 4
invokevirtual org.springframework.data.transaction.MultiTransactionStatus.isNewSynchonization:()Z
ifeq 16
15: aload 0
getfield org.springframework.data.transaction.ChainedTransactionManager.synchronizationManager:Lorg/springframework/data/transaction/SynchronizationManager;
invokeinterface org.springframework.data.transaction.SynchronizationManager.clearSynchronization:()V
16: StackMap locals: org.springframework.data.transaction.ChainedTransactionManager org.springframework.transaction.TransactionStatus java.lang.Exception org.springframework.transaction.PlatformTransactionManager org.springframework.data.transaction.MultiTransactionStatus
StackMap stack:
aload 2
ifnull 20
17: new org.springframework.transaction.UnexpectedRollbackException
dup
new java.lang.StringBuilder
dup
ldc "Rollback exception, originated at ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
18: ldc ") "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
19: invokespecial org.springframework.transaction.UnexpectedRollbackException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
20: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/springframework/data/transaction/ChainedTransactionManager;
0 21 1 status Lorg/springframework/transaction/TransactionStatus;
1 21 2 rollbackException Ljava/lang/Exception;
2 21 3 rollbackExceptionTransactionManager Lorg/springframework/transaction/PlatformTransactionManager;
3 21 4 multiTransactionStatus Lorg/springframework/data/transaction/MultiTransactionStatus;
5 13 5 transactionManager Lorg/springframework/transaction/PlatformTransactionManager;
8 13 7 ex Ljava/lang/Exception;
Exception table:
from to target type
5 6 7 Class java.lang.Exception
Exceptions:
throws org.springframework.transaction.TransactionException
MethodParameters:
Name Flags
status
private <T> java.lang.Iterable<T> reverse(java.util.Collection<T>);
descriptor: (Ljava/util/Collection;)Ljava/lang/Iterable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
aload 1
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 2
start local 2 1: aload 2
invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/data/transaction/ChainedTransactionManager;
0 3 1 collection Ljava/util/Collection<TT;>;
1 3 2 list Ljava/util/List<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<TT;>;)Ljava/lang/Iterable<TT;>;
MethodParameters:
Name Flags
collection
private org.springframework.transaction.PlatformTransactionManager getLastTransactionManager();
descriptor: ()Lorg/springframework/transaction/PlatformTransactionManager;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.data.transaction.ChainedTransactionManager.transactionManagers:Ljava/util/List;
aload 0
invokevirtual org.springframework.data.transaction.ChainedTransactionManager.lastTransactionManagerIndex:()I
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.springframework.transaction.PlatformTransactionManager
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/data/transaction/ChainedTransactionManager;
private int lastTransactionManagerIndex();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.springframework.data.transaction.ChainedTransactionManager.transactionManagers:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/data/transaction/ChainedTransactionManager;
public org.springframework.transaction.TransactionStatus getTransaction(org.springframework.transaction.TransactionDefinition);
descriptor: (Lorg/springframework/transaction/TransactionDefinition;)Lorg/springframework/transaction/TransactionStatus;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual org.springframework.data.transaction.ChainedTransactionManager.getTransaction:(Lorg/springframework/transaction/TransactionDefinition;)Lorg/springframework/data/transaction/MultiTransactionStatus;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws org.springframework.transaction.TransactionException
}
SourceFile: "ChainedTransactionManager.java"