List of usage examples for org.apache.commons.dbcp DataSourceConnectionFactory DataSourceConnectionFactory
public DataSourceConnectionFactory(DataSource source)
From source file:com.springsource.insight.plugin.jdbc.PoolingConnectionTest.java
@Test public void testOperationCollection() throws SQLException { DataSourceConnectionFactory connFactory = new DataSourceConnectionFactory(dataSource); ObjectPool connPool = new GenericObjectPool(); PoolableConnectionFactory poolFactory = new PoolableConnectionFactory(connFactory, connPool, null, null, false, true);//from w ww .j a v a 2 s . c om PoolingDataSource poolDs = new PoolingDataSource(poolFactory.getPool()); String sql = "select * from appointment where owner = 'Agim'"; Connection c = poolDs.getConnection(); try { PreparedStatement ps = c.prepareStatement(sql); try { System.out.println("Prepared statement=" + ps.getClass()); ResultSet rs = ps.executeQuery(); rs.close(); } finally { ps.close(); } } finally { c.close(); } ArgumentCaptor<Operation> opCaptor = ArgumentCaptor.forClass(Operation.class); verify(spiedOperationCollector, times(3)).enter(opCaptor.capture()); List<Operation> ops = opCaptor.getAllValues(); assertEquals("Mismatched number of operations", 3, ops.size()); assertSourceCodeLocation("top-op", ops.get(0), "org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper", "prepareStatement"); assertSourceCodeLocation("mid-op", ops.get(1), "org.apache.commons.dbcp.DelegatingConnection", "prepareStatement"); assertSourceCodeLocation("bottom-op", ops.get(2), "org.hsqldb.jdbc.jdbcConnection", "prepareStatement"); }
From source file:com.qualogy.qafe.business.resource.rdb.DriverManagerDataSource.java
public void init(ApplicationContext context) { DriverManagerResource driverManagerResource = (DriverManagerResource) getBindResource(); String userName = driverManagerResource.getUsername(); String password = driverManagerResource.getPassword(); String url = driverManagerResource.getUrl(); String driverClassName = driverManagerResource.getDriverClassName(); DataSource springDS = new org.springframework.jdbc.datasource.DriverManagerDataSource(url, userName, password);/*from w w w . ja va 2 s . c om*/ ((org.springframework.jdbc.datasource.DriverManagerDataSource) springDS) .setDriverClassName(driverClassName); GenericObjectPool pool = new GenericObjectPool(); pool.setMinEvictableIdleTimeMillis(300000); pool.setTimeBetweenEvictionRunsMillis(60000); PoolableConnectionFactory connectionFactory = new PoolableConnectionFactory( new DataSourceConnectionFactory(springDS), pool, null, null, false, true); PoolingDataSource poolingDataSource = new PoolingDataSource(pool); poolingDataSource.setAccessToUnderlyingConnectionAllowed(true); setDataSource(poolingDataSource); postInit(context); }
From source file:com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.TibcoDriverManagerImpl.java
public Connection unlockConnection(DataSource dataSource) throws SQLException { Connection originalConnection = getOriginalConnection(dataSource); if (unlockDSConnection(originalConnection)) return originalConnection; GenericObjectPool connectionPool = new GenericObjectPool(null); DataSourceConnectionFactory connectionFactory = new DataSourceConnectionFactory(dataSource); PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory, connectionPool, null, null, false, true); PoolingDataSource ds = new PoolingDataSource(connectionPool); if (ds != null) { Connection connection = getOriginalConnection(ds); ds.setAccessToUnderlyingConnectionAllowed(true); if (unlockDSConnection(connection)) return connection; }//from w w w . java2 s .c o m return originalConnection; }
From source file:org.apache.wookie.server.Start.java
private static void configureServer() throws Exception { // create embedded jetty instance logger.info("Configuring Jetty server"); server = new Server(port); // configure embedded jetty to handle wookie web application WebAppContext context = new WebAppContext(); context.setServer(server);/*from www . ja va2 s . c om*/ context.setContextPath("/wookie"); context.setWar("build/webapp/wookie"); // enable and configure JNDI container resources context.setConfigurationClasses(new String[] { "org.mortbay.jetty.webapp.WebInfConfiguration", "org.mortbay.jetty.plus.webapp.EnvConfiguration", "org.mortbay.jetty.plus.webapp.Configuration", "org.mortbay.jetty.webapp.JettyWebXmlConfiguration", "org.mortbay.jetty.webapp.TagLibConfiguration" }); if (persistenceManagerType.equals(PERSISTENCE_MANAGER_TYPE_JPA)) { logger.info("Configuring JPA persistence manager"); // setup derby database directory and logging properties if (dbType.equals("derby") && dbUri.startsWith("jdbc:derby:")) { int dbUriArgsIndex = dbUri.indexOf(";", 11); if (dbUriArgsIndex == -1) { dbUriArgsIndex = dbUri.length(); } String databasePath = dbUri.substring(11, dbUriArgsIndex); int databaseDirIndex = databasePath.lastIndexOf(File.separatorChar); if ((databaseDirIndex == -1) && (File.separatorChar != '/')) { databaseDirIndex = databasePath.lastIndexOf('/'); } if (databaseDirIndex != -1) { String databaseDir = databasePath.substring(0, databaseDirIndex); File databaseDirFile = new File(databaseDir); if (!databaseDirFile.exists()) { databaseDirFile.mkdirs(); } String derbyLog = databaseDirFile.getAbsolutePath() + File.separator + "derby.log"; System.setProperty("derby.stream.error.file", derbyLog); } } // Setup a database connection resource using DBCP BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName(dbDriver); dataSource.setUrl(dbUri); dataSource.setUsername(dbUser); dataSource.setPassword(dbPassword); dataSource.setMaxActive(80); dataSource.setMaxIdle(80); dataSource.setInitialSize(5); dataSource.setMaxOpenPreparedStatements(0); // Set up connection pool GenericObjectPool pool = new GenericObjectPool(); // setup factory and pooling DataSource DataSourceConnectionFactory factory = new DataSourceConnectionFactory(dataSource); @SuppressWarnings("unused") PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(factory, pool, null, null, false, true); DataSource poolingDataSource = new PoolingDataSource(pool); new Resource(JPAPersistenceManager.WIDGET_DATABASE_JNDI_DATASOURCE_NAME, poolingDataSource); } else if (persistenceManagerType.equals(PERSISTENCE_MANAGER_TYPE_JCR)) { logger.info("Configuring JCR persistence manager"); // setup repository directory and derby logging properties File repositoryDirFile = new File("widgetRepository"); if (!repositoryDirFile.exists()) { repositoryDirFile.mkdirs(); } String derbyLog = repositoryDirFile.getAbsolutePath() + File.separator + "derby.log"; System.setProperty("derby.stream.error.file", derbyLog); // setup Jackrabbit JCR repository JNDI resource String repositoryConfig = repositoryDirFile.getAbsolutePath() + File.separator + "repository.xml"; Repository repository = new TransientRepository(repositoryConfig, repositoryDirFile.getAbsolutePath()); new Resource(JCRPersistenceManager.WIDGET_REPOSITORY_JNDI_REPOSITORY_NAME, repository); } // configure embedded jetty web application handler server.addHandler(context); // configure embedded jetty authentication realm HashUserRealm authedRealm = new HashUserRealm("Authentication Required", "etc/jetty-realm.properties"); server.setUserRealms(new UserRealm[] { authedRealm }); logger.info("Configured Jetty server"); }
From source file:org.eclipse.scada.utils.osgi.jdbc.pool.PoolConnectionAccessor.java
public PoolConnectionAccessor(final DataSourceFactory dataSourceFactory, final Properties paramProperties) throws SQLException { logger.debug("Creating pool connection accessor : {}", paramProperties); // first remove all our properties this.connectionPool = new GenericObjectPool<Object>(null); this.connectionPool.setMaxActive(getInteger(paramProperties, PREFIX + "maxActive", 8)); this.connectionPool.setMaxIdle(getInteger(paramProperties, PREFIX + "maxIdle", 8)); this.connectionPool.setMinIdle(getInteger(paramProperties, PREFIX + "minIdle", 1)); this.connectionPool.setTestOnBorrow(getBoolean(paramProperties, PREFIX + "testOnBorrow", true)); this.connectionPool.setTestOnReturn(getBoolean(paramProperties, PREFIX + "testOnReturn", true)); this.connectionPool.setTimeBetweenEvictionRunsMillis( getLong(paramProperties, PREFIX + "timeBetweenEvictionRunsMillis", -1)); this.connectionPool.setMinEvictableIdleTimeMillis( getLong(paramProperties, PREFIX + "minEvictableIdleTimeMillis", 30 * 60 * 1000)); this.connectionPool.setTestWhileIdle(getBoolean(paramProperties, PREFIX + "testWhileIdle", false)); this.connectionPool.setSoftMinEvictableIdleTimeMillis( getLong(paramProperties, PREFIX + "softMinEvictableIdleTimeMillis", -1)); this.connectionPool .setNumTestsPerEvictionRun(getInteger(paramProperties, PREFIX + "numTestsPerEvictionRun", 3)); final String connectionInitSql = getString(paramProperties, PREFIX + "connectionInitSql", null); final String validationQuery = getString(paramProperties, PREFIX + "validationQuery", null); final Integer validationQueryTimeout = getInteger(paramProperties, PREFIX + "validationQueryTimeout", -1); this.driverDataSource = dataSourceFactory.createDataSource(paramProperties); final ConnectionFactory connectionFactory = new DataSourceConnectionFactory(this.driverDataSource); this.poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory, this.connectionPool, null, null, false, true);//from w w w. j av a2s . c o m if (connectionInitSql != null) { this.poolableConnectionFactory.setConnectionInitSql(Arrays.asList(connectionInitSql)); } if (validationQuery != null) { this.poolableConnectionFactory.setValidationQuery(validationQuery); } if (validationQueryTimeout != null) { this.poolableConnectionFactory.setValidationQueryTimeout(validationQueryTimeout); } this.dataSource = new PoolingDataSource(this.connectionPool); }
From source file:org.netxilia.api.impl.storage.DataSourceConfigurationServiceImpl.java
public synchronized DataSource buildDataSource(DataSourceConfiguration cfg) { init();/*from w w w . ja v a 2 s .c om*/ Pair<GenericObjectPool, DataSource> poolInfo = pools.get(cfg.getId()); if (poolInfo != null) { return poolInfo.getSecond(); } GenericObjectPool connectionPool = applicationContext.getBean(GenericObjectPool.class); DataSource simpleDataSource = buildSimpleDataSource(cfg); ConnectionFactory connectionFactory = new DataSourceConnectionFactory(simpleDataSource); // ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(cfg.getUrl().replace( // NETXILIA_HOME_VAR, path), cfg.getUsername(), cfg.getPassword()); new PoolableConnectionFactory(connectionFactory, connectionPool, null, null, false, true); PoolingDataSource poolingDataSource = new PoolingDataSource(connectionPool); log.info("Creating a new datasource " + poolingDataSource + " for config:" + cfg.getId()); pools.put(cfg.getId(), new Pair<GenericObjectPool, DataSource>(connectionPool, poolingDataSource)); return poolingDataSource; }
From source file:org.openspaces.jdbc.datasource.DbcpBasicDataSource.java
/** * <p>Create (if necessary) and return the internal data source we are * using to manage our connections.</p> * * <p><strong>IMPLEMENTATION NOTE</strong> - It is tempting to use the * "double checked locking" idiom in an attempt to avoid synchronizing * on every single call to this method. However, this idiom fails to * work correctly in the face of some optimizations that are legal for * a JVM to perform.</p>//from w ww. ja v a 2 s . c o m * * @throws SQLException if the object pool cannot be created. */ protected void createDataSource() throws SQLException { // Can't test without a validationQuery if (validationQuery == null) { setTestOnBorrow(false); setTestOnReturn(false); setTestWhileIdle(false); } // Create an object pool to contain our active connections if ((abandonedConfig != null) && (abandonedConfig.getRemoveAbandoned() == true)) { connectionPool = new AbandonedObjectPool(null, abandonedConfig); } else { connectionPool = new GenericObjectPool(); } connectionPool.setMaxActive(maxActive); connectionPool.setMaxIdle(maxIdle); connectionPool.setMinIdle(minIdle); connectionPool.setMaxWait(maxWait); connectionPool.setTestOnBorrow(testOnBorrow); connectionPool.setTestOnReturn(testOnReturn); connectionPool.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis); connectionPool.setNumTestsPerEvictionRun(numTestsPerEvictionRun); connectionPool.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis); connectionPool.setTestWhileIdle(testWhileIdle); // Set up statement pool, if desired GenericKeyedObjectPoolFactory statementPoolFactory = null; if (isPoolPreparedStatements()) { statementPoolFactory = new GenericKeyedObjectPoolFactory(null, -1, // unlimited maxActive (per key) GenericKeyedObjectPool.WHEN_EXHAUSTED_FAIL, 0, // maxWait 1, // maxIdle (per key) maxOpenPreparedStatements); } DataSourceConnectionFactory dataSourceConnectionFactory = new DataSourceConnectionFactory( new SpaceDriverManagerDataSource(space)); // Set up the poolable connection factory we will use try { PoolableConnectionFactory connectionFactory = new PoolableConnectionFactory(dataSourceConnectionFactory, connectionPool, statementPoolFactory, validationQuery, defaultReadOnly, defaultAutoCommit, defaultTransactionIsolation, defaultCatalog, abandonedConfig); validateConnectionFactory(connectionFactory); } catch (RuntimeException e) { throw e; } catch (Exception e) { throw new SQLNestedException("Cannot create PoolableConnectionFactory (" + e.getMessage() + ")", e); } // Create and return the pooling data source to manage the connections dataSource = new PoolingDataSource(connectionPool); ((PoolingDataSource) dataSource) .setAccessToUnderlyingConnectionAllowed(isAccessToUnderlyingConnectionAllowed()); dataSource.setLogWriter(logWriter); try { for (int i = 0; i < initialSize; i++) { connectionPool.addObject(); } } catch (Exception e) { throw new SQLNestedException("Error preloading the connection pool", e); } }
From source file:org.wsm.database.tools.util.FANConnectionManager.java
public void setupDataSource(String dsName) { try {/* w w w . j a va2 s .c om*/ OracleDataSource ods = super.getBasicDataSourceSetup(dsName); java.util.Properties prop = new java.util.Properties(); prop.setProperty("MinLimit", "5"); prop.setProperty("MaxLimit", "45"); ods.setConnectionCacheName("FanConnectionCache01"); ods.setConnectionCachingEnabled(true); ods.setConnectionCacheProperties(prop); ods.setFastConnectionFailoverEnabled(true); ObjectPool connectionPool = new GenericObjectPool(null); ConnectionFactory connectionFactory = new DataSourceConnectionFactory(ods); PoolableConnectionFactory pcf = new PoolableConnectionFactory(connectionFactory, connectionPool, null, null, false, true); PoolingDataSource pds = new PoolingDataSource(connectionPool); addPoolingDataSourceToBucket(dsName, pds); //addOracleDataSourceToBucket(dsName, ods); } catch (SQLException e) { e.printStackTrace(); } }