class io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier implements io.ebeaninternal.server.transaction.DataSourceSupplier
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier
super_class: java.lang.Object
{
private final javax.sql.DataSource dataSource;
descriptor: Ljavax/sql/DataSource;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final javax.sql.DataSource readOnlyDataSource;
descriptor: Ljavax/sql/DataSource;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier$SchemaDataSource schemaDataSource;
descriptor: Lio/ebeaninternal/server/core/MultiTenantDbSchemaSupplier$SchemaDataSource;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier$SchemaDataSource readOnly;
descriptor: Lio/ebeaninternal/server/core/MultiTenantDbSchemaSupplier$SchemaDataSource;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(io.ebean.config.CurrentTenantProvider, javax.sql.DataSource, javax.sql.DataSource, io.ebean.config.TenantSchemaProvider);
descriptor: (Lio/ebean/config/CurrentTenantProvider;Ljavax/sql/DataSource;Ljavax/sql/DataSource;Lio/ebean/config/TenantSchemaProvider;)V
flags: (0x0000)
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier.dataSource:Ljavax/sql/DataSource;
2: aload 0
aload 3
putfield io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier.readOnlyDataSource:Ljavax/sql/DataSource;
3: aload 0
new io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier$SchemaDataSource
dup
aload 2
aload 4
aload 1
invokespecial io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier$SchemaDataSource.<init>:(Ljavax/sql/DataSource;Lio/ebean/config/TenantSchemaProvider;Lio/ebean/config/CurrentTenantProvider;)V
putfield io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier.schemaDataSource:Lio/ebeaninternal/server/core/MultiTenantDbSchemaSupplier$SchemaDataSource;
4: aload 3
ifnonnull 7
5: aload 0
aconst_null
putfield io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier.readOnly:Lio/ebeaninternal/server/core/MultiTenantDbSchemaSupplier$SchemaDataSource;
6: goto 8
7: StackMap locals: io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier io.ebean.config.CurrentTenantProvider javax.sql.DataSource javax.sql.DataSource io.ebean.config.TenantSchemaProvider
StackMap stack:
aload 0
new io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier$SchemaDataSource
dup
aload 3
aload 4
aload 1
invokespecial io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier$SchemaDataSource.<init>:(Ljavax/sql/DataSource;Lio/ebean/config/TenantSchemaProvider;Lio/ebean/config/CurrentTenantProvider;)V
putfield io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier.readOnly:Lio/ebeaninternal/server/core/MultiTenantDbSchemaSupplier$SchemaDataSource;
8: 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 9 0 this Lio/ebeaninternal/server/core/MultiTenantDbSchemaSupplier;
0 9 1 tenantProvider Lio/ebean/config/CurrentTenantProvider;
0 9 2 dataSource Ljavax/sql/DataSource;
0 9 3 readOnlyDataSource Ljavax/sql/DataSource;
0 9 4 schemaProvider Lio/ebean/config/TenantSchemaProvider;
MethodParameters:
Name Flags
tenantProvider
dataSource
readOnlyDataSource
schemaProvider
public javax.sql.DataSource getDataSource();
descriptor: ()Ljavax/sql/DataSource;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier.schemaDataSource:Lio/ebeaninternal/server/core/MultiTenantDbSchemaSupplier$SchemaDataSource;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/ebeaninternal/server/core/MultiTenantDbSchemaSupplier;
public javax.sql.DataSource getReadOnlyDataSource();
descriptor: ()Ljavax/sql/DataSource;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier.readOnly:Lio/ebeaninternal/server/core/MultiTenantDbSchemaSupplier$SchemaDataSource;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/ebeaninternal/server/core/MultiTenantDbSchemaSupplier;
public java.sql.Connection getConnection(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/sql/Connection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier.schemaDataSource:Lio/ebeaninternal/server/core/MultiTenantDbSchemaSupplier$SchemaDataSource;
aload 1
invokevirtual io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier$SchemaDataSource.getConnectionForTenant:(Ljava/lang/Object;)Ljava/sql/Connection;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/ebeaninternal/server/core/MultiTenantDbSchemaSupplier;
0 1 1 tenantId Ljava/lang/Object;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
tenantId
public java.sql.Connection getReadOnlyConnection(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/sql/Connection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier.readOnly:Lio/ebeaninternal/server/core/MultiTenantDbSchemaSupplier$SchemaDataSource;
aload 1
invokevirtual io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier$SchemaDataSource.getConnectionForTenant:(Ljava/lang/Object;)Ljava/sql/Connection;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/ebeaninternal/server/core/MultiTenantDbSchemaSupplier;
0 1 1 tenantId Ljava/lang/Object;
Exceptions:
throws java.sql.SQLException
MethodParameters:
Name Flags
tenantId
public void shutdown(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier.readOnlyDataSource:Ljavax/sql/DataSource;
instanceof io.ebean.datasource.DataSourcePool
ifeq 2
1: aload 0
getfield io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier.readOnlyDataSource:Ljavax/sql/DataSource;
checkcast io.ebean.datasource.DataSourcePool
invokeinterface io.ebean.datasource.DataSourcePool.shutdown:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier.dataSource:Ljavax/sql/DataSource;
instanceof io.ebean.datasource.DataSourcePool
ifeq 4
3: aload 0
getfield io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier.dataSource:Ljavax/sql/DataSource;
checkcast io.ebean.datasource.DataSourcePool
invokeinterface io.ebean.datasource.DataSourcePool.shutdown:()V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/ebeaninternal/server/core/MultiTenantDbSchemaSupplier;
0 5 1 deregisterDriver Z
MethodParameters:
Name Flags
deregisterDriver
}
SourceFile: "MultiTenantDbSchemaSupplier.java"
NestMembers:
io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier$SchemaDataSource
InnerClasses:
private SchemaDataSource = io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier$SchemaDataSource of io.ebeaninternal.server.core.MultiTenantDbSchemaSupplier