JNDI style is typical when using an application server(Weblogic, JBOSS) or a web container(Apache Tomcat).
Here's a example of the lookup Datasource created in Server.
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class DatabaseConnection {
public DatabaseConnection() {
super();
}
// JNDI name created in Server
final static String DATA_SOURCE="jdbc/PortalDS";
public static void main(String[] args) {
Connection connection = DatabaseConnection.init(DATA_SOURCE);
System.out.println("Connection "+connection);
}
private static Connection init(String dsName) {
Connection con = null;
DataSource datasource = null;
Context initialContext = null;
try{
initialContext = new InitialContext();
if (initialContext == null) {
}
datasource = (DataSource)initialContext.lookup(dsName);
if (datasource != null) {
con = datasource.getConnection();
} else {
System.out.println("Failed to lookup datasource.");
}
}catch (SQLException sqle) {
System.out.println("SQL Exception occurred while getting DataSource : " +
sqle);
} catch (NamingException ne) {
System.out.println("Naming Exception occurred while getting DataSource : " +
ne);
}
return con;
}
}
Here's a example of the lookup Datasource created in Server.
import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class DatabaseConnection {
public DatabaseConnection() {
super();
}
// JNDI name created in Server
final static String DATA_SOURCE="jdbc/PortalDS";
public static void main(String[] args) {
Connection connection = DatabaseConnection.init(DATA_SOURCE);
System.out.println("Connection "+connection);
}
private static Connection init(String dsName) {
Connection con = null;
DataSource datasource = null;
Context initialContext = null;
try{
initialContext = new InitialContext();
if (initialContext == null) {
}
datasource = (DataSource)initialContext.lookup(dsName);
if (datasource != null) {
con = datasource.getConnection();
} else {
System.out.println("Failed to lookup datasource.");
}
}catch (SQLException sqle) {
System.out.println("SQL Exception occurred while getting DataSource : " +
sqle);
} catch (NamingException ne) {
System.out.println("Naming Exception occurred while getting DataSource : " +
ne);
}
return con;
}
}
Tidak ada komentar:
Posting Komentar