C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。
需要c3p0的jar包以及数据源所在server的数据源包。
需要c3p0的jar包以及数据源所在server的数据源包。
Hashtable<String, String> jndiEnv = new Hashtable<String, String>();
/* 用到的context factory的包名+类名,这里由于是连接在weblogic上配置的数据源,因此还需要weblogic的jndi包*/
jndiEnv.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
/* 数据源所在的URL,以t3开头 */
jndiEnv.put(Context.PROVIDER_URL, "t3://10.10.14.116:7001");
JndiRefConnectionPoolDataSource jndiDataSource = new JndiRefConnectionPoolDataSource();
jndiDataSource.setJndiEnv(jndiEnv);
/* 数据源的名字 */
jndiDataSource.setJndiName("MPI");
/* 连接池的最大连接数 */
jndiDataSource.setMaxStatements(maxStat);
return jndiDataSource.getPooledConnection();