class io.ebeaninternal.server.transaction.TransactionFactoryTenant extends io.ebeaninternal.server.transaction.TransactionFactory
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.ebeaninternal.server.transaction.TransactionFactoryTenant
super_class: io.ebeaninternal.server.transaction.TransactionFactory
{
final io.ebeaninternal.server.transaction.DataSourceSupplier dataSourceSupplier;
descriptor: Lio/ebeaninternal/server/transaction/DataSourceSupplier;
flags: (0x0010) ACC_FINAL
final io.ebean.config.CurrentTenantProvider tenantProvider;
descriptor: Lio/ebean/config/CurrentTenantProvider;
flags: (0x0010) ACC_FINAL
void <init>(io.ebeaninternal.server.transaction.TransactionManager, io.ebeaninternal.server.transaction.DataSourceSupplier, io.ebean.config.CurrentTenantProvider);
descriptor: (Lio/ebeaninternal/server/transaction/TransactionManager;Lio/ebeaninternal/server/transaction/DataSourceSupplier;Lio/ebean/config/CurrentTenantProvider;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokespecial io.ebeaninternal.server.transaction.TransactionFactory.<init>:(Lio/ebeaninternal/server/transaction/TransactionManager;)V
1: aload 0
aload 2
putfield io.ebeaninternal.server.transaction.TransactionFactoryTenant.dataSourceSupplier:Lio/ebeaninternal/server/transaction/DataSourceSupplier;
2: aload 0
aload 3
putfield io.ebeaninternal.server.transaction.TransactionFactoryTenant.tenantProvider:Lio/ebean/config/CurrentTenantProvider;
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/ebeaninternal/server/transaction/TransactionFactoryTenant;
0 4 1 manager Lio/ebeaninternal/server/transaction/TransactionManager;
0 4 2 dataSourceSupplier Lio/ebeaninternal/server/transaction/DataSourceSupplier;
0 4 3 tenantProvider Lio/ebean/config/CurrentTenantProvider;
MethodParameters:
Name Flags
manager
dataSourceSupplier
tenantProvider
public io.ebeaninternal.api.SpiTransaction createReadOnlyTransaction(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lio/ebeaninternal/api/SpiTransaction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
aload 1
invokevirtual io.ebeaninternal.server.transaction.TransactionFactoryTenant.create:(ZLjava/lang/Object;)Lio/ebeaninternal/api/SpiTransaction;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/ebeaninternal/server/transaction/TransactionFactoryTenant;
0 1 1 tenantId Ljava/lang/Object;
MethodParameters:
Name Flags
tenantId
public io.ebeaninternal.api.SpiTransaction createTransaction(boolean, int);
descriptor: (ZI)Lio/ebeaninternal/api/SpiTransaction;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aconst_null
invokevirtual io.ebeaninternal.server.transaction.TransactionFactoryTenant.create:(ZLjava/lang/Object;)Lio/ebeaninternal/api/SpiTransaction;
astore 3
start local 3 1: aload 0
aload 3
iload 1
iload 2
invokevirtual io.ebeaninternal.server.transaction.TransactionFactoryTenant.setIsolationLevel:(Lio/ebeaninternal/api/SpiTransaction;ZI)Lio/ebeaninternal/api/SpiTransaction;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/ebeaninternal/server/transaction/TransactionFactoryTenant;
0 2 1 explicit Z
0 2 2 isolationLevel I
1 2 3 t Lio/ebeaninternal/api/SpiTransaction;
MethodParameters:
Name Flags
explicit
isolationLevel
private io.ebeaninternal.api.SpiTransaction create(boolean, java.lang.Object);
descriptor: (ZLjava/lang/Object;)Lio/ebeaninternal/api/SpiTransaction;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 2
ifnonnull 3
2: aload 0
getfield io.ebeaninternal.server.transaction.TransactionFactoryTenant.tenantProvider:Lio/ebean/config/CurrentTenantProvider;
invokeinterface io.ebean.config.CurrentTenantProvider.currentId:()Ljava/lang/Object;
astore 2
3: StackMap locals: java.sql.Connection
StackMap stack:
aload 0
getfield io.ebeaninternal.server.transaction.TransactionFactoryTenant.dataSourceSupplier:Lio/ebeaninternal/server/transaction/DataSourceSupplier;
aload 2
invokeinterface io.ebeaninternal.server.transaction.DataSourceSupplier.getConnection:(Ljava/lang/Object;)Ljava/sql/Connection;
astore 3
4: aload 0
getfield io.ebeaninternal.server.transaction.TransactionFactoryTenant.manager:Lio/ebeaninternal/server/transaction/TransactionManager;
iload 1
aload 3
invokevirtual io.ebeaninternal.server.transaction.TransactionManager.createTransaction:(ZLjava/sql/Connection;)Lio/ebeaninternal/api/SpiTransaction;
astore 4
start local 4 5: aload 4
aload 2
invokeinterface io.ebeaninternal.api.SpiTransaction.setTenantId:(Ljava/lang/Object;)V
6: aload 4
7: areturn
end local 4 8: StackMap locals:
StackMap stack: javax.persistence.PersistenceException
astore 4
start local 4 9: aload 3
invokestatic io.ebean.util.JdbcClose.close:(Ljava/sql/Connection;)V
10: aload 4
athrow
end local 4 11: StackMap locals:
StackMap stack: java.sql.SQLException
astore 4
start local 4 12: new javax.persistence.PersistenceException
dup
aload 4
invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/ebeaninternal/server/transaction/TransactionFactoryTenant;
0 13 1 explicit Z
0 13 2 tenantId Ljava/lang/Object;
1 13 3 connection Ljava/sql/Connection;
5 8 4 transaction Lio/ebeaninternal/api/SpiTransaction;
9 11 4 ex Ljavax/persistence/PersistenceException;
12 13 4 ex Ljava/sql/SQLException;
Exception table:
from to target type
1 7 8 Class javax.persistence.PersistenceException
1 7 11 Class java.sql.SQLException
MethodParameters:
Name Flags
explicit
tenantId
}
SourceFile: "TransactionFactoryTenant.java"