[ https://issues.apache.org/jira/browse/DBCP-309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12784807#action_12784807 ]
Ondrej Tisler commented on DBCP-309: ------------------------------------ I use this code for registring JNDI inFSContext: // JNDI with datasource InitialContext ic = new InitialContext(); // Construct BasicDataSource reference Configuration poolConfig = dbConfig.subset("datasource"); DriverAdapterCPDS cpds = new DriverAdapterCPDS(); cpds.setDriver(poolConfig.getString("driver.driverClassName")); cpds.setUrl(poolConfig.getString("driver.url")); cpds.setUser(poolConfig.getString("driver.username")); cpds.setPassword(CryptPass.encryptPass(poolConfig.getString("driver.password"))); SharedPoolDataSource ds = new SharedPoolDataSource(); ds.setConnectionPoolDataSource(cpds); ds.setDefaultAutoCommit(poolConfig.getBoolean("connection.defaultAutoCommit", true)); ds.setValidationQuery(poolConfig.getString("validation.validationQuery")); ic.rebind(poolConfig.getString("[...@jndi]"), ds); log.info("JNDI datasource is inicialized"); next you can normaly use JNDI lookup: InitialContext ic2 = new InitialContext(); ds = (DataSource) ic2.lookup(poolConfig.getString("[...@jndi]")); conn = ds.getConnection(); > First example for FSContext is invalid > -------------------------------------- > > Key: DBCP-309 > URL: https://issues.apache.org/jira/browse/DBCP-309 > Project: Commons Dbcp > Issue Type: Bug > Affects Versions: 1.2.2 > Reporter: Ondrej Tisler > Priority: Trivial > > First example on page http://commons.apache.org/dbcp/guide/jndi-howto.html is > invalid, with this code every call of > InitialContext ic2 = new InitialContext(); > DataSource ds = (DataSource) ic2.lookup("jdbc/basic"); > Connection conn = ds.getConnection(); > conn.close(); > ends with new datasource with unclosed connection in it becase new > Reference("javax.sql.DataSource", > "org.apache.commons.dbcp.BasicDataSourceFactory", null); reference creates > new DataSource instead using created one while calling > ic2.lookup("jdbc/basic"). > At the end it ends with many opened connections to DB until JVM is ended. > Second example I didn't test, i use direct aproach with manualy creating > SharedPoolDataSource and registring it in FSContext JNDI itself. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.