public class ch.qos.logback.core.db.JNDIConnectionSource extends ch.qos.logback.core.db.ConnectionSourceBase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: ch.qos.logback.core.db.JNDIConnectionSource
super_class: ch.qos.logback.core.db.ConnectionSourceBase
{
private java.lang.String jndiLocation;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private javax.sql.DataSource dataSource;
descriptor: Ljavax/sql/DataSource;
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial ch.qos.logback.core.db.ConnectionSourceBase.<init>:()V
1: aload 0
aconst_null
putfield ch.qos.logback.core.db.JNDIConnectionSource.jndiLocation:Ljava/lang/String;
2: aload 0
aconst_null
putfield ch.qos.logback.core.db.JNDIConnectionSource.dataSource:Ljavax/sql/DataSource;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lch/qos/logback/core/db/JNDIConnectionSource;
public void start();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield ch.qos.logback.core.db.JNDIConnectionSource.jndiLocation:Ljava/lang/String;
ifnonnull 2
1: aload 0
ldc "No JNDI location specified for JNDIConnectionSource."
invokevirtual ch.qos.logback.core.db.JNDIConnectionSource.addError:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual ch.qos.logback.core.db.JNDIConnectionSource.discoverConnectionProperties:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lch/qos/logback/core/db/JNDIConnectionSource;
public java.sql.Connection getConnection();
descriptor: ()Ljava/sql/Connection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield ch.qos.logback.core.db.JNDIConnectionSource.dataSource:Ljavax/sql/DataSource;
ifnonnull 3
2: aload 0
aload 0
invokevirtual ch.qos.logback.core.db.JNDIConnectionSource.lookupDataSource:()Ljavax/sql/DataSource;
putfield ch.qos.logback.core.db.JNDIConnectionSource.dataSource:Ljavax/sql/DataSource;
3: StackMap locals: java.sql.Connection
StackMap stack:
aload 0
invokevirtual ch.qos.logback.core.db.JNDIConnectionSource.getUser:()Ljava/lang/String;
ifnull 5
4: aload 0
new java.lang.StringBuilder
dup
ldc "Ignoring property [user] with value ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual ch.qos.logback.core.db.JNDIConnectionSource.getUser:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] for obtaining a connection from a DataSource."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.db.JNDIConnectionSource.addWarn:(Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
aload 0
getfield ch.qos.logback.core.db.JNDIConnectionSource.dataSource:Ljavax/sql/DataSource;
invokeinterface javax.sql.DataSource.getConnection:()Ljava/sql/Connection;
astore 1
6: goto 13
StackMap locals:
StackMap stack: javax.naming.NamingException
7: astore 2
start local 2 8: aload 0
ldc "Error while getting data source"
aload 2
invokevirtual ch.qos.logback.core.db.JNDIConnectionSource.addError:(Ljava/lang/String;Ljava/lang/Throwable;)V
9: new java.sql.SQLException
dup
new java.lang.StringBuilder
dup
ldc "NamingException while looking up DataSource: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual javax.naming.NamingException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;)V
athrow
end local 2 10: StackMap locals:
StackMap stack: java.lang.ClassCastException
astore 2
start local 2 11: aload 0
ldc "ClassCastException while looking up DataSource."
aload 2
invokevirtual ch.qos.logback.core.db.JNDIConnectionSource.addError:(Ljava/lang/String;Ljava/lang/Throwable;)V
12: new java.sql.SQLException
dup
new java.lang.StringBuilder
dup
ldc "ClassCastException while looking up DataSource: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.ClassCastException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;)V
athrow
end local 2 13: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lch/qos/logback/core/db/JNDIConnectionSource;
1 14 1 conn Ljava/sql/Connection;
8 10 2 ne Ljavax/naming/NamingException;
11 13 2 cce Ljava/lang/ClassCastException;
Exception table:
from to target type
1 6 7 Class javax.naming.NamingException
1 6 10 Class java.lang.ClassCastException
Exceptions:
throws java.sql.SQLException
public java.lang.String getJndiLocation();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield ch.qos.logback.core.db.JNDIConnectionSource.jndiLocation:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lch/qos/logback/core/db/JNDIConnectionSource;
public void setJndiLocation(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield ch.qos.logback.core.db.JNDIConnectionSource.jndiLocation:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lch/qos/logback/core/db/JNDIConnectionSource;
0 2 1 jndiLocation Ljava/lang/String;
MethodParameters:
Name Flags
jndiLocation
private javax.sql.DataSource lookupDataSource();
descriptor: ()Ljavax/sql/DataSource;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
new java.lang.StringBuilder
dup
ldc "Looking up ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield ch.qos.logback.core.db.JNDIConnectionSource.jndiLocation:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "] in JNDI"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual ch.qos.logback.core.db.JNDIConnectionSource.addInfo:(Ljava/lang/String;)V
1: new javax.naming.InitialContext
dup
invokespecial javax.naming.InitialContext.<init>:()V
astore 2
start local 2 2: aload 2
aload 0
getfield ch.qos.logback.core.db.JNDIConnectionSource.jndiLocation:Ljava/lang/String;
invokeinterface javax.naming.Context.lookup:(Ljava/lang/String;)Ljava/lang/Object;
astore 3
start local 3 3: aload 3
checkcast javax.sql.DataSource
astore 1
start local 1 4: aload 1
ifnonnull 6
5: new java.sql.SQLException
dup
new java.lang.StringBuilder
dup
ldc "Failed to obtain data source from JNDI location "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield ch.qos.logback.core.db.JNDIConnectionSource.jndiLocation:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: javax.sql.DataSource javax.naming.Context java.lang.Object
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lch/qos/logback/core/db/JNDIConnectionSource;
4 7 1 ds Ljavax/sql/DataSource;
2 7 2 initialContext Ljavax/naming/Context;
3 7 3 obj Ljava/lang/Object;
Exceptions:
throws javax.naming.NamingException, java.sql.SQLException
}
SourceFile: "JNDIConnectionSource.java"