class io.ebeaninternal.server.core.InitDataSource
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.ebeaninternal.server.core.InitDataSource
super_class: java.lang.Object
{
private final io.ebeaninternal.server.core.JndiDataSourceLookup jndiDataSourceFactory;
descriptor: Lio/ebeaninternal/server/core/JndiDataSourceLookup;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.ebean.config.DatabaseConfig config;
descriptor: Lio/ebean/config/DatabaseConfig;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void init(io.ebean.config.DatabaseConfig);
descriptor: (Lio/ebean/config/DatabaseConfig;)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new io.ebeaninternal.server.core.InitDataSource
dup
aload 0
invokespecial io.ebeaninternal.server.core.InitDataSource.<init>:(Lio/ebean/config/DatabaseConfig;)V
invokevirtual io.ebeaninternal.server.core.InitDataSource.initialise:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 config Lio/ebean/config/DatabaseConfig;
MethodParameters:
Name Flags
config
void <init>(io.ebean.config.DatabaseConfig);
descriptor: (Lio/ebean/config/DatabaseConfig;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new io.ebeaninternal.server.core.JndiDataSourceLookup
dup
invokespecial io.ebeaninternal.server.core.JndiDataSourceLookup.<init>:()V
putfield io.ebeaninternal.server.core.InitDataSource.jndiDataSourceFactory:Lio/ebeaninternal/server/core/JndiDataSourceLookup;
2: aload 0
aload 1
putfield io.ebeaninternal.server.core.InitDataSource.config:Lio/ebean/config/DatabaseConfig;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/ebeaninternal/server/core/InitDataSource;
0 4 1 config Lio/ebean/config/DatabaseConfig;
MethodParameters:
Name Flags
config
private void initialise();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.core.InitDataSource.config:Lio/ebean/config/DatabaseConfig;
invokevirtual io.ebean.config.DatabaseConfig.getDataSource:()Ljavax/sql/DataSource;
ifnonnull 2
1: aload 0
getfield io.ebeaninternal.server.core.InitDataSource.config:Lio/ebean/config/DatabaseConfig;
aload 0
invokevirtual io.ebeaninternal.server.core.InitDataSource.initDataSource:()Ljavax/sql/DataSource;
invokevirtual io.ebean.config.DatabaseConfig.setDataSource:(Ljavax/sql/DataSource;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.core.InitDataSource.config:Lio/ebean/config/DatabaseConfig;
invokevirtual io.ebean.config.DatabaseConfig.getReadOnlyDataSource:()Ljavax/sql/DataSource;
ifnonnull 4
3: aload 0
getfield io.ebeaninternal.server.core.InitDataSource.config:Lio/ebean/config/DatabaseConfig;
aload 0
invokevirtual io.ebeaninternal.server.core.InitDataSource.initReadOnlyDataSource:()Ljavax/sql/DataSource;
invokevirtual io.ebean.config.DatabaseConfig.setReadOnlyDataSource:(Ljavax/sql/DataSource;)V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/ebeaninternal/server/core/InitDataSource;
private javax.sql.DataSource initDataSource();
descriptor: ()Ljavax/sql/DataSource;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.core.InitDataSource.config:Lio/ebean/config/DatabaseConfig;
invokevirtual io.ebean.config.DatabaseConfig.getDataSourceJndiName:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 0
aload 1
invokevirtual io.ebeaninternal.server.core.InitDataSource.jndiDataSource:(Ljava/lang/String;)Ljavax/sql/DataSource;
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 0
getfield io.ebeaninternal.server.core.InitDataSource.config:Lio/ebean/config/DatabaseConfig;
invokevirtual io.ebean.config.DatabaseConfig.getDataSourceConfig:()Lio/ebean/datasource/DataSourceConfig;
iconst_0
invokevirtual io.ebeaninternal.server.core.InitDataSource.createFromConfig:(Lio/ebean/datasource/DataSourceConfig;Z)Ljavax/sql/DataSource;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/ebeaninternal/server/core/InitDataSource;
1 4 1 jndiName Ljava/lang/String;
private javax.sql.DataSource jndiDataSource(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/sql/DataSource;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.ebeaninternal.server.core.InitDataSource.jndiDataSourceFactory:Lio/ebeaninternal/server/core/JndiDataSourceLookup;
aload 1
invokevirtual io.ebeaninternal.server.core.JndiDataSourceLookup.lookup:(Ljava/lang/String;)Ljavax/sql/DataSource;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: new javax.persistence.PersistenceException
dup
new java.lang.StringBuilder
dup
ldc "JNDI lookup for DataSource "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " returned null."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: javax.sql.DataSource
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/ebeaninternal/server/core/InitDataSource;
0 4 1 jndiName Ljava/lang/String;
1 4 2 ds Ljavax/sql/DataSource;
MethodParameters:
Name Flags
jndiName
private javax.sql.DataSource initReadOnlyDataSource();
descriptor: ()Ljavax/sql/DataSource;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual io.ebeaninternal.server.core.InitDataSource.readOnlyConfig:()Lio/ebean/datasource/DataSourceConfig;
astore 1
start local 1 1: aload 1
ifnonnull 2
aconst_null
goto 3
StackMap locals: io.ebean.datasource.DataSourceConfig
StackMap stack:
2: aload 0
aload 1
iconst_1
invokevirtual io.ebeaninternal.server.core.InitDataSource.createFromConfig:(Lio/ebean/datasource/DataSourceConfig;Z)Ljavax/sql/DataSource;
StackMap locals:
StackMap stack: javax.sql.DataSource
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/ebeaninternal/server/core/InitDataSource;
1 4 1 roConfig Lio/ebean/datasource/DataSourceConfig;
io.ebean.datasource.DataSourceConfig readOnlyConfig();
descriptor: ()Lio/ebean/datasource/DataSourceConfig;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield io.ebeaninternal.server.core.InitDataSource.config:Lio/ebean/config/DatabaseConfig;
invokevirtual io.ebean.config.DatabaseConfig.getReadOnlyDataSourceConfig:()Lio/ebean/datasource/DataSourceConfig;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: io.ebean.datasource.DataSourceConfig
StackMap stack:
aload 0
aload 1
invokevirtual io.ebean.datasource.DataSourceConfig.getUrl:()Ljava/lang/String;
invokevirtual io.ebeaninternal.server.core.InitDataSource.urlSet:(Ljava/lang/String;)Z
ifeq 5
4: aload 1
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield io.ebeaninternal.server.core.InitDataSource.config:Lio/ebean/config/DatabaseConfig;
invokevirtual io.ebean.config.DatabaseConfig.getDataSourceConfig:()Lio/ebean/datasource/DataSourceConfig;
invokevirtual io.ebean.datasource.DataSourceConfig.getReadOnlyUrl:()Ljava/lang/String;
astore 2
start local 2 6: aload 0
aload 2
invokevirtual io.ebeaninternal.server.core.InitDataSource.urlSet:(Ljava/lang/String;)Z
ifeq 9
7: aload 1
aload 2
invokevirtual io.ebean.datasource.DataSourceConfig.setUrl:(Ljava/lang/String;)Lio/ebean/datasource/DataSourceConfig;
pop
8: aload 1
areturn
9: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield io.ebeaninternal.server.core.InitDataSource.config:Lio/ebean/config/DatabaseConfig;
invokevirtual io.ebean.config.DatabaseConfig.isAutoReadOnlyDataSource:()Z
ifeq 12
10: aload 1
aconst_null
invokevirtual io.ebean.datasource.DataSourceConfig.setUrl:(Ljava/lang/String;)Lio/ebean/datasource/DataSourceConfig;
pop
11: aload 1
areturn
12: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/ebeaninternal/server/core/InitDataSource;
1 13 1 roConfig Lio/ebean/datasource/DataSourceConfig;
6 13 2 readOnlyUrl Ljava/lang/String;
private boolean urlSet(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
ldc "none"
aload 1
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 1
aload 1
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/ebeaninternal/server/core/InitDataSource;
0 2 1 url Ljava/lang/String;
MethodParameters:
Name Flags
url
private javax.sql.DataSource createFromConfig(io.ebean.datasource.DataSourceConfig, boolean);
descriptor: (Lio/ebean/datasource/DataSourceConfig;Z)Ljavax/sql/DataSource;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: new javax.persistence.PersistenceException
dup
new java.lang.StringBuilder
dup
ldc "No DataSourceConfig defined for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield io.ebeaninternal.server.core.InitDataSource.config:Lio/ebean/config/DatabaseConfig;
invokevirtual io.ebean.config.DatabaseConfig.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.ebean.datasource.DataSourceConfig.isOffline:()Z
ifeq 6
3: aload 0
getfield io.ebeaninternal.server.core.InitDataSource.config:Lio/ebean/config/DatabaseConfig;
invokevirtual io.ebean.config.DatabaseConfig.getDatabasePlatformName:()Ljava/lang/String;
ifnonnull 5
4: new javax.persistence.PersistenceException
dup
ldc "You MUST specify a DatabasePlatformName on DatabaseConfig when offline"
invokespecial javax.persistence.PersistenceException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aconst_null
areturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.ebeaninternal.server.core.InitDataSource.attachAlert:(Lio/ebean/datasource/DataSourceConfig;)V
7: aload 0
aload 1
invokevirtual io.ebeaninternal.server.core.InitDataSource.attachListener:(Lio/ebean/datasource/DataSourceConfig;)V
8: iload 2
ifeq 13
9: aload 1
iconst_1
invokevirtual io.ebean.datasource.DataSourceConfig.setAutoCommit:(Z)Lio/ebean/datasource/DataSourceConfig;
pop
10: aload 1
iconst_1
invokevirtual io.ebean.datasource.DataSourceConfig.setReadOnly:(Z)Lio/ebean/datasource/DataSourceConfig;
pop
11: aload 1
aload 0
getfield io.ebeaninternal.server.core.InitDataSource.config:Lio/ebean/config/DatabaseConfig;
invokevirtual io.ebean.config.DatabaseConfig.getDataSourceConfig:()Lio/ebean/datasource/DataSourceConfig;
invokevirtual io.ebean.datasource.DataSourceConfig.setDefaults:(Lio/ebean/datasource/DataSourceConfig;)Lio/ebean/datasource/DataSourceConfig;
pop
12: aload 1
aload 0
getfield io.ebeaninternal.server.core.InitDataSource.config:Lio/ebean/config/DatabaseConfig;
invokevirtual io.ebean.config.DatabaseConfig.getDataSourceConfig:()Lio/ebean/datasource/DataSourceConfig;
invokevirtual io.ebean.datasource.DataSourceConfig.getIsolationLevel:()I
invokevirtual io.ebean.datasource.DataSourceConfig.setIsolationLevel:(I)Lio/ebean/datasource/DataSourceConfig;
pop
13: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual io.ebeaninternal.server.core.InitDataSource.create:(Lio/ebean/datasource/DataSourceConfig;Z)Ljavax/sql/DataSource;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lio/ebeaninternal/server/core/InitDataSource;
0 14 1 dsConfig Lio/ebean/datasource/DataSourceConfig;
0 14 2 readOnly Z
MethodParameters:
Name Flags
dsConfig
readOnly
private javax.sql.DataSource create(io.ebean.datasource.DataSourceConfig, boolean);
descriptor: (Lio/ebean/datasource/DataSourceConfig;Z)Ljavax/sql/DataSource;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
aload 0
getfield io.ebeaninternal.server.core.InitDataSource.config:Lio/ebean/config/DatabaseConfig;
invokevirtual io.ebean.config.DatabaseConfig.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
ifeq 1
ldc "-ro"
goto 2
StackMap locals:
StackMap stack: java.lang.StringBuilder
1: ldc ""
StackMap locals: io.ebeaninternal.server.core.InitDataSource io.ebean.datasource.DataSourceConfig int
StackMap stack: java.lang.StringBuilder java.lang.String
2: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 3: aload 3
aload 1
invokestatic io.ebean.datasource.DataSourceFactory.create:(Ljava/lang/String;Lio/ebean/datasource/DataSourceConfig;)Lio/ebean/datasource/DataSourcePool;
areturn
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/core/InitDataSource;
0 4 1 dsConfig Lio/ebean/datasource/DataSourceConfig;
0 4 2 readOnly Z
3 4 3 poolName Ljava/lang/String;
MethodParameters:
Name Flags
dsConfig
readOnly
private void attachAlert(io.ebean.datasource.DataSourceConfig);
descriptor: (Lio/ebean/datasource/DataSourceConfig;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.ebeaninternal.server.core.InitDataSource.config:Lio/ebean/config/DatabaseConfig;
ldc Lio/ebean/datasource/DataSourceAlertFactory;
invokevirtual io.ebean.config.DatabaseConfig.service:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast io.ebean.datasource.DataSourceAlertFactory
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 1
aload 2
invokeinterface io.ebean.datasource.DataSourceAlertFactory.createAlert:()Lio/ebean/datasource/DataSourceAlert;
invokevirtual io.ebean.datasource.DataSourceConfig.setAlert:(Lio/ebean/datasource/DataSourceAlert;)Lio/ebean/datasource/DataSourceConfig;
pop
3: StackMap locals: io.ebean.datasource.DataSourceAlertFactory
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/ebeaninternal/server/core/InitDataSource;
0 4 1 dsConfig Lio/ebean/datasource/DataSourceConfig;
1 4 2 alertFactory Lio/ebean/datasource/DataSourceAlertFactory;
MethodParameters:
Name Flags
dsConfig
private void attachListener(io.ebean.datasource.DataSourceConfig);
descriptor: (Lio/ebean/datasource/DataSourceConfig;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.ebean.datasource.DataSourceConfig.getListener:()Lio/ebean/datasource/DataSourcePoolListener;
ifnonnull 4
1: aload 1
invokevirtual io.ebean.datasource.DataSourceConfig.getPoolListener:()Ljava/lang/String;
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 1
aload 0
getfield io.ebeaninternal.server.core.InitDataSource.config:Lio/ebean/config/DatabaseConfig;
invokevirtual io.ebean.config.DatabaseConfig.getClassLoadConfig:()Lio/ebean/config/ClassLoadConfig;
aload 2
invokevirtual io.ebean.config.ClassLoadConfig.newInstance:(Ljava/lang/String;)Ljava/lang/Object;
checkcast io.ebean.datasource.DataSourcePoolListener
invokevirtual io.ebean.datasource.DataSourceConfig.setListener:(Lio/ebean/datasource/DataSourcePoolListener;)Lio/ebean/datasource/DataSourceConfig;
pop
end local 2 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/InitDataSource;
0 5 1 dsConfig Lio/ebean/datasource/DataSourceConfig;
2 4 2 poolListener Ljava/lang/String;
MethodParameters:
Name Flags
dsConfig
}
SourceFile: "InitDataSource.java"