JNDI software download
Download File System Service Provider, Current version 1.2 Beta 3
$ unzip fscontext-1_2-beta3.zip
$ vi jndi.properties
java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory
java.naming.provider.url=file:///tmp
$ vi Main.java
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NameClassPair;
import javax.naming.NamingEnumeration;
public class Main {
public static void main(String[] args) throws Exception {
Context ic = new InitialContext();
NamingEnumerationlist = ic.list("/");
while (list.hasMoreElements()) {
NameClassPair nameClassPair = (NameClassPair) list.nextElement();
System.out.println(nameClassPair);
}
}
}
$ javac Main.java
$ java -cp ".:./lib/fscontext.jar:./lib/providerutil.jar" Main
Commons DBCP JNDI Howto
Download commons-dbcp-1.2.2.jar, commons-pool-1.3.jar, mysql-connector-java-5.1.6-bin.jar
$ vi MainDBCP.java
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.Reference;
import javax.naming.StringRefAddr;
import javax.sql.DataSource;
public class MainDBCP {
public static void main(String[] args) throws Exception {
Context ic = new InitialContext();
// Construct DriverAdapterCPDS reference
Reference cpdsRef = new Reference("org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS",
"org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS", null);
cpdsRef.add(new StringRefAddr("driver", "com.mysql.jdbc.Driver"));
cpdsRef.add(new StringRefAddr("url", "jdbc:mysql://localhost:3306/mysql"));
cpdsRef.add(new StringRefAddr("user", "root"));
cpdsRef.add(new StringRefAddr("password", "password"));
ic.rebind("jdbc/cpds", cpdsRef);
// Construct PerUserPoolDataSource reference
Reference ref = new Reference("org.apache.commons.dbcp.datasources.PerUserPoolDataSource",
"org.apache.commons.dbcp.datasources.PerUserPoolDataSourceFactory", null);
ref.add(new StringRefAddr("dataSourceName", "jdbc/cpds"));
ref.add(new StringRefAddr("defaultMaxActive", "100"));
ref.add(new StringRefAddr("defaultMaxIdle", "30"));
ref.add(new StringRefAddr("defaultMaxWait", "10000"));
ic.rebind("jdbc/peruser", ref);
DataSource ds = (DataSource) ic.lookup("jdbc/peruser");
Connection conn = ds.getConnection();
try {
PreparedStatement prepareStatement = conn.prepareStatement("select User from user");
ResultSet resultSet = prepareStatement.executeQuery();
while(resultSet.next()) {
System.out.println(resultSet.getObject(1));
}
} finally {
conn.close();
}
}
}
$ javac MainDBCP.java
$ java -cp ".:./lib/fscontext.jar:./lib/providerutil.jar:
./lib/commons-pool-1.3.jar:./lib/commons-dbcp-1.2.2.jar:
./lib/mysql-connector-java-5.1.6-bin.jar" MainDBCP
沒有留言:
張貼留言