String username = p.getProperty(KEY_DB_CONNECTION_USERNAME);
String password = p.getProperty(KEY_DB_CONNECTION_PASSWORD);
System.setProperty("com.mchange.v2.c3p0.management.ManagementCoordinator", "com.mchange.v2.c3p0.management.NullManagementCoordinator");
ComboPooledDataSource cpds = new ComboPooledDataSource(connectionName);
cpds.setDriverClass(driver);
cpds.setJdbcUrl(url);
cpds.setUser(username);
cpds.setPassword(password);
cpds.setAutoCommitOnClose(autoCommit);
cpds.setMaxPoolSize(Integer.parseInt(maxPoolSize));
cpds.setMinPoolSize(Integer.parseInt(minPoolSize));
cpds.setAcquireIncrement(Integer.parseInt(acquireIncrement));
cpds.setInitialPoolSize(Integer.parseInt(initialPoolSize));
cpds.setMaxIdleTime(Integer.parseInt(maxIdleTime));
connectionPoolDataSourcesMap.put(connectionName, cpds);
log.debug("created ds for " + connectionName + " with properties: " + c3p0props);
} catch (Throwable e) {
log.error("Failed to create data source for " + connectionName + " with properties: " + c3p0props + ": " + e.getMessage());