Example usage for org.apache.commons.dbcp AbandonedConfig AbandonedConfig

List of usage examples for org.apache.commons.dbcp AbandonedConfig AbandonedConfig

Introduction

In this page you can find the example usage for org.apache.commons.dbcp AbandonedConfig AbandonedConfig.

Prototype

AbandonedConfig

Source Link

Usage

From source file:com.haulmont.yarg.loaders.factory.DefaultLoaderFactory.java

public static DataSource setupDataSource(String driver, String connectURI, String username, String password,
        Integer maxActive, Integer maxIdle, Integer maxWait) {
    try {//from  w  w  w.ja v  a2s .  c o m
        Class.forName(driver);
        final AbandonedConfig config = new AbandonedConfig();
        config.setLogAbandoned(true);

        AbandonedObjectPool connectionPool = new AbandonedObjectPool(null, config);

        connectionPool.setMaxIdle(maxIdle);
        connectionPool.setMaxActive(maxActive);
        if (maxWait != null) {
            connectionPool.setMaxWait(maxWait);
        }

        ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(connectURI, username,
                password);

        PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory,
                connectionPool, null, null, false, true);

        connectionPool.setFactory(poolableConnectionFactory);
        PoolingDataSource dataSource = new PoolingDataSource(connectionPool);

        return dataSource;
    } catch (ClassNotFoundException e) {
        throw new InitializationException("An error occurred during creation of new datasource object", e);
    }
}

From source file:com.haulmont.yarg.console.PropertiesSqlLoaderFactory.java

protected DataSource setupDataSource(String driver, String connectURI, String username, String password,
        Integer maxActive, Integer maxIdle, Integer maxWait) {
    try {// w w w.  j a v  a2  s  .co m
        Class.forName(driver);
        final AbandonedConfig config = new AbandonedConfig();
        config.setLogAbandoned(true);

        AbandonedObjectPool connectionPool = new AbandonedObjectPool(null, config);

        connectionPool.setMaxIdle(maxIdle);
        connectionPool.setMaxActive(maxActive);
        if (maxWait != null) {
            connectionPool.setMaxWait(maxWait);
        }

        ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(connectURI, username,
                password);

        PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(connectionFactory,
                connectionPool, null, null, false, true);

        connectionPool.setFactory(poolableConnectionFactory);
        return new PoolingDataSource(connectionPool);
    } catch (ClassNotFoundException e) {
        throw new InitializationException("An error occurred during creation of new datasource object", e);
    }
}

From source file:com.naver.timetable.jdbc.CubridDataManager.java

/**
 * jdbc?  ??  .//  w  ww  .  j  av  a 2 s  . c o  m
 * @param strDriver
 * @param strDBConn
 * @param strUserID
 * @param strUserPW
 */
public void initDriver() {
    try {
        Class.forName(strDriver);
        Connection objConn = DriverManager.getConnection(strDBConn, strUserID, strUserPW);
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (SQLException e) {
        e.printStackTrace();
    }

    // ?  ? .
    AbandonedConfig abandonedConfig = new AbandonedConfig();
    abandonedConfig.setRemoveAbandoned(true);

    AbandonedObjectPool connectionPool = new AbandonedObjectPool(null, abandonedConfig);

    connectionPool.setMaxActive(maxActive);
    connectionPool.setMaxIdle(maxIdle);
    connectionPool.setMinIdle(minIdle);
    connectionPool.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
    //      connectionPool.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);

    ConnectionFactory driverConnFactory = new DriverManagerConnectionFactory(strDBConn, strUserID, strUserPW);
    PoolableConnectionFactory connFactory = new PoolableConnectionFactory(driverConnFactory, connectionPool,
            null, null, defaultReadOnly, defaultAutoCommit);

    PoolingDataSource pds = new PoolingDataSource(connectionPool);
    dataSource = pds;

    try {
        for (int i = 0; i < initialSize; i++) {
            connectionPool.addObject();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:mondrian.rolap.RolapConnectionPool.java

/**
 * Gets or creates a connection pool for a particular connect
 * specification.//from   w  ww  .  ja v  a2 s.  co m
 */
private synchronized ObjectPool getPool(Object key, ConnectionFactory connectionFactory) {
    ObjectPool connectionPool = mapConnectKeyToPool.get(key);
    if (connectionPool == null) {
        // use GenericObjectPool, which provides for resource limits
        connectionPool = new GenericObjectPool(null, // PoolableObjectFactory, can be null
                50, // max active
                GenericObjectPool.WHEN_EXHAUSTED_BLOCK, // action when exhausted
                3000, // max wait (milli seconds)
                10, // max idle
                false, // test on borrow
                false, // test on return
                60000, // time between eviction runs (millis)
                5, // number to test on eviction run
                30000, // min evictable idle time (millis)
                true); // test while idle

        // create a PoolableConnectionFactory
        AbandonedConfig abandonedConfig = new AbandonedConfig();
        // flag to remove abandoned connections from pool
        abandonedConfig.setRemoveAbandoned(true);
        // timeout (seconds) before removing abandoned connections
        abandonedConfig.setRemoveAbandonedTimeout(300);
        // Flag to log stack traces for application code which abandoned a
        // Statement or Connection
        abandonedConfig.setLogAbandoned(true);
        PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(
                // the connection factory
                connectionFactory,
                // the object pool
                connectionPool,
                // statement pool factory for pooling prepared statements,
                // or null for no pooling
                null,
                // validation query (must return at least 1 row e.g. Oracle:
                // select count(*) from dual) to test connection, can be
                // null
                null,
                // default "read only" setting for borrowed connections
                false,
                // default "auto commit" setting for returned connections
                true,
                // AbandonedConfig object configures how to handle abandoned
                // connections
                abandonedConfig);

        // "poolableConnectionFactory" has registered itself with
        // "connectionPool", somehow, so we don't need the value any more.
        Util.discard(poolableConnectionFactory);
        mapConnectKeyToPool.put(key, connectionPool);
    }
    return connectionPool;
}

From source file:org.apache.ojb.broker.util.pooling.PoolConfiguration.java

public AbandonedConfig getAbandonedConfig() {
    AbandonedConfig conf = new AbandonedConfig();
    conf.setRemoveAbandoned(isRemoveAbandoned());
    conf.setRemoveAbandonedTimeout(getRemoveAbandonedTimeout());
    conf.setLogAbandoned(isLogAbandoned());
    return conf;/*w ww. j av a  2s . c  om*/
}

From source file:org.eclipse.osee.jdbc.internal.PooledDataSourceFetcher.java

@SuppressWarnings({ "rawtypes", "unchecked" })
private ObjectPool<Connection> createConnectionPool() throws Exception {
    MetaData metadata = manager.getMetaData(dbInfo);

    JdbcConnectionFactory proxiedFactory = manager.getFactory(dbInfo.getDriver());
    ConnectionFactory connectionFactory = new ConnectionFactoryProxy(proxiedFactory, dbInfo,
            metadata.isTxIsolationLevelSupported());

    AbandonedObjectPool connectionPool = new AbandonedObjectPool(null,
            getAbandonedConnectionConfig(poolConfig));
    connectionPool.setConfig(getPoolConfig(poolConfig));

    GenericKeyedObjectPoolFactory statementPool = null;
    if (poolConfig.isPoolPreparedStatementsAllowed()) {
        statementPool = new GenericKeyedObjectPoolFactory(null, getStatementPoolConfig(poolConfig));
    }//from  w  ww .j  a v a 2  s . c  om
    AbandonedConfig abandoned = new AbandonedConfig();
    abandoned.setLogAbandoned(true);
    abandoned.setLogWriter(new PrintWriter(System.out));

    String validationQuery = metadata.getValidationQuery();
    int validationQueryTimeoutSecs = poolConfig.getPoolValidationQueryTimeoutSecs();
    boolean defaultReadOnly = false;
    boolean defaultAutoCommit = true;
    new PoolableConnectionFactory(connectionFactory, connectionPool, statementPool, validationQuery,
            validationQueryTimeoutSecs, defaultReadOnly, defaultAutoCommit);
    return connectionPool;
}

From source file:org.eclipse.osee.jdbc.internal.PooledDataSourceFetcher.java

private AbandonedConfig getAbandonedConnectionConfig(JdbcPoolConfig config) {
    AbandonedConfig abandoned = new AbandonedConfig();
    abandoned.setLogAbandoned(config.isPoolAbandonedLoggingEnabled());
    abandoned.setRemoveAbandoned(config.isPoolAbandonedRemovalEnabled());
    abandoned.setRemoveAbandonedTimeout(config.getPoolAbandonedRemovalTimeout());
    return abandoned;
}

From source file:org.onecmdb.core.utils.transform.jdbc.ClassLoaderBasicDataSource.java

/**
 * @deprecated//from   w  w  w  .  j  ava 2s  .c o  m
 * @param removeAbandoned new removeAbandoned property value
 */
public void setRemoveAbandoned(boolean removeAbandoned) {
    if (abandonedConfig == null) {
        abandonedConfig = new AbandonedConfig();
    }
    abandonedConfig.setRemoveAbandoned(removeAbandoned);
    this.restartNeeded = true;
}

From source file:org.onecmdb.core.utils.transform.jdbc.ClassLoaderBasicDataSource.java

/**
 * @deprecated//from   w ww  .  ja  va2  s .c  o m
 * @param removeAbandonedTimeout new removeAbandonedTimeout value
 */
public void setRemoveAbandonedTimeout(int removeAbandonedTimeout) {
    if (abandonedConfig == null) {
        abandonedConfig = new AbandonedConfig();
    }
    abandonedConfig.setRemoveAbandonedTimeout(removeAbandonedTimeout);
    this.restartNeeded = true;
}

From source file:org.onecmdb.core.utils.transform.jdbc.ClassLoaderBasicDataSource.java

/**
 * @deprecated//from www .  ja  v a 2  s .  c  om
 * @param logAbandoned new logAbandoned property value
 */
public void setLogAbandoned(boolean logAbandoned) {
    if (abandonedConfig == null) {
        abandonedConfig = new AbandonedConfig();
    }
    abandonedConfig.setLogAbandoned(logAbandoned);
    this.restartNeeded = true;
}