abstract class io.ebeaninternal.server.transaction.TransactionFactory
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: io.ebeaninternal.server.transaction.TransactionFactory
super_class: java.lang.Object
{
final java.util.concurrent.atomic.AtomicLong counter;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0010) ACC_FINAL
final io.ebeaninternal.server.transaction.TransactionManager manager;
descriptor: Lio/ebeaninternal/server/transaction/TransactionManager;
flags: (0x0010) ACC_FINAL
void <init>(io.ebeaninternal.server.transaction.TransactionManager);
descriptor: (Lio/ebeaninternal/server/transaction/TransactionManager;)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 // io.ebeaninternal.server.transaction.TransactionFactory this
start local 1 // io.ebeaninternal.server.transaction.TransactionManager manager
0: .line 20
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 16
aload 0 /* this */
new java.util.concurrent.atomic.AtomicLong
dup
ldc 1000
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
putfield io.ebeaninternal.server.transaction.TransactionFactory.counter:Ljava/util/concurrent/atomic/AtomicLong;
2: .line 21
aload 0 /* this */
aload 1 /* manager */
putfield io.ebeaninternal.server.transaction.TransactionFactory.manager:Lio/ebeaninternal/server/transaction/TransactionManager;
3: .line 22
return
end local 1 // io.ebeaninternal.server.transaction.TransactionManager manager
end local 0 // io.ebeaninternal.server.transaction.TransactionFactory this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/ebeaninternal/server/transaction/TransactionFactory;
0 4 1 manager Lio/ebeaninternal/server/transaction/TransactionManager;
MethodParameters:
Name Flags
manager
abstract io.ebeaninternal.api.SpiTransaction createQueryTransaction(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lio/ebeaninternal/api/SpiTransaction;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
tenantId
abstract io.ebeaninternal.api.SpiTransaction createTransaction(boolean, int);
descriptor: (ZI)Lio/ebeaninternal/api/SpiTransaction;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
explicit
isolationLevel
io.ebeaninternal.api.SpiTransaction setIsolationLevel(io.ebeaninternal.api.SpiTransaction, boolean, int);
descriptor: (Lio/ebeaninternal/api/SpiTransaction;ZI)Lio/ebeaninternal/api/SpiTransaction;
flags: (0x0000)
Code:
stack=4, locals=6, args_size=4
start local 0 // io.ebeaninternal.server.transaction.TransactionFactory this
start local 1 // io.ebeaninternal.api.SpiTransaction t
start local 2 // boolean explicit
start local 3 // int isolationLevel
0: .line 41
iload 3 /* isolationLevel */
iconst_m1
if_icmple 7
1: .line 42
aload 1 /* t */
invokeinterface io.ebeaninternal.api.SpiTransaction.getConnection:()Ljava/sql/Connection;
astore 4 /* connection */
start local 4 // java.sql.Connection connection
2: .line 44
aload 4 /* connection */
iload 3 /* isolationLevel */
invokeinterface java.sql.Connection.setTransactionIsolation:(I)V
3: .line 45
goto 7
StackMap locals: io.ebeaninternal.server.transaction.TransactionFactory io.ebeaninternal.api.SpiTransaction int int java.sql.Connection
StackMap stack: java.sql.SQLException
4: astore 5 /* e */
start local 5 // java.sql.SQLException e
5: .line 46
aload 4 /* connection */
invokestatic io.ebean.util.JdbcClose.close:(Ljava/sql/Connection;)V
6: .line 47
new javax.persistence.PersistenceException
dup
aload 5 /* e */
invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 // java.sql.SQLException e
end local 4 // java.sql.Connection connection
7: .line 51
StackMap locals:
StackMap stack:
iload 2 /* explicit */
ifeq 9
aload 0 /* this */
getfield io.ebeaninternal.server.transaction.TransactionFactory.manager:Lio/ebeaninternal/server/transaction/TransactionManager;
invokevirtual io.ebeaninternal.server.transaction.TransactionManager.log:()Lio/ebeaninternal/api/SpiLogManager;
invokeinterface io.ebeaninternal.api.SpiLogManager.txn:()Lio/ebeaninternal/api/SpiLogger;
invokeinterface io.ebeaninternal.api.SpiLogger.isTrace:()Z
ifeq 9
8: .line 52
aload 0 /* this */
getfield io.ebeaninternal.server.transaction.TransactionFactory.manager:Lio/ebeaninternal/server/transaction/TransactionManager;
invokevirtual io.ebeaninternal.server.transaction.TransactionManager.log:()Lio/ebeaninternal/api/SpiLogManager;
invokeinterface io.ebeaninternal.api.SpiLogManager.txn:()Lio/ebeaninternal/api/SpiLogger;
new java.lang.StringBuilder
dup
aload 1 /* t */
invokeinterface io.ebeaninternal.api.SpiTransaction.getLogPrefix:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "Begin"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface io.ebeaninternal.api.SpiLogger.trace:(Ljava/lang/String;)V
9: .line 55
StackMap locals:
StackMap stack:
aload 1 /* t */
areturn
end local 3 // int isolationLevel
end local 2 // boolean explicit
end local 1 // io.ebeaninternal.api.SpiTransaction t
end local 0 // io.ebeaninternal.server.transaction.TransactionFactory this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/ebeaninternal/server/transaction/TransactionFactory;
0 10 1 t Lio/ebeaninternal/api/SpiTransaction;
0 10 2 explicit Z
0 10 3 isolationLevel I
2 7 4 connection Ljava/sql/Connection;
5 7 5 e Ljava/sql/SQLException;
Exception table:
from to target type
2 3 4 Class java.sql.SQLException
MethodParameters:
Name Flags
t
explicit
isolationLevel
}
SourceFile: "TransactionFactory.java"