Example usage for org.apache.commons.dbcp BasicDataSource setMaxIdle

List of usage examples for org.apache.commons.dbcp BasicDataSource setMaxIdle

Introduction

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

Prototype

public synchronized void setMaxIdle(int maxIdle) 

Source Link

Document

Sets the maximum number of connections that can remail idle in the pool.

Usage

From source file:org.jxstar.dao.pool.PooledConnection.java

/**
 * ???//from   w  w w  .j  a va 2s .  c om
 * @param dsName
 * @return
 */
private DataSource createSelfDataSource(DataSourceConfig dsConfig) {
    String dsName = dsConfig.getDataSourceName();
    BasicDataSource ds = (BasicDataSource) _myDataSourceMap.get(dsName);
    if (ds != null)
        return ds;

    ds = new BasicDataSource();
    //???
    int iTranLevel = getTranLevelConstant(dsConfig.getTranLevel());
    int maxnum = Integer.parseInt(dsConfig.getMaxConNum());

    ds.setDriverClassName(dsConfig.getDriverClass());
    ds.setUrl(dsConfig.getJdbcUrl());
    ds.setUsername(dsConfig.getUserName());
    ds.setPassword(dsConfig.getPassWord());

    ds.setMaxIdle(maxnum);
    ds.setMaxActive(maxnum);
    ds.setMaxWait(Long.parseLong(dsConfig.getMaxWaitTime()));
    ds.setDefaultAutoCommit(false);
    ds.setDefaultTransactionIsolation(iTranLevel);

    //????SystemVarserver.xml?
    String validTest = dsConfig.getValidTest();
    String validQuery = dsConfig.getValidQuery();
    if (validTest.equalsIgnoreCase("true") && validQuery.length() > 0) {
        _log.showDebug("pool test use query...");
        ds.setTestOnBorrow(true);
        ds.setValidationQuery(validQuery);
        ds.setValidationQueryTimeout(3);
    }

    //?mysql???
    //?????
    if (dsConfig.getValidIdle().equalsIgnoreCase("true")) {
        _log.showDebug("pool idle valid thread started...");
        ds.setMinIdle(5);
        ds.setTestWhileIdle(true);

        //1030?5
        ds.setMinEvictableIdleTimeMillis(30 * 60 * 1000);//30 minus
        ds.setTimeBetweenEvictionRunsMillis(10 * 60 * 1000);//10 minus
    }

    //???
    _myDataSourceMap.put(dsName, ds);

    return ds;
}

From source file:org.lucane.server.database.DatabaseAbstractionLayer.java

/**
 * DatabaseLayer Factory//w w  w  .j  a  va  2  s.  co m
 * Get the layer corresponding to the driver
 */
public static DatabaseAbstractionLayer createLayer(ServerConfig config) throws Exception {
    Class.forName(config.getDbDriver());

    BasicDataSource ds = new BasicDataSource();
    ds.setDriverClassName(config.getDbDriver());
    ds.setUsername(config.getDbLogin());
    ds.setPassword(config.getDbPassword());
    ds.setUrl(config.getDbUrl());

    ds.setPoolPreparedStatements(true);
    ds.setInitialSize(config.getDbPoolInitialSize());
    ds.setMaxActive(config.getDbPoolMaxActive());
    ds.setMaxIdle(config.getDbPoolMaxIdle());
    ds.setMinIdle(config.getDbPoolMinIdle());
    ds.setMaxWait(config.getDbPoolMaxWait());

    Logging.getLogger()
            .info("Pool initialized (" + "initial size=" + config.getDbPoolInitialSize() + ", max active="
                    + config.getDbPoolMaxActive() + ", max idle=" + config.getDbPoolMaxIdle() + ", min idle="
                    + config.getDbPoolMinIdle() + ", max wait=" + config.getDbPoolMaxWait() + ")");

    //-- dynamic layer loading
    Class klass = Class.forName(config.getDbLayer());
    Class[] types = { DataSource.class };
    Object[] values = { ds };
    Constructor constr = klass.getConstructor(types);
    return (DatabaseAbstractionLayer) constr.newInstance(values);
}

From source file:org.nebula.service.core.DynamicDataSource.java

public void onChange(String dbUrl) {

    logger.info("Change target dbUrl to: " + dbUrl);

    Object oldDataSource = this.datasources.remove(LOOKUP_KEY);

    if (oldDataSource != null) {
        try {/*from  w w w.  j  a v a2  s.  co  m*/
            ((BasicDataSource) oldDataSource).close();
        } catch (SQLException e) {
            //ignore
        }
    }

    BasicDataSource dataSource = new BasicDataSource();
    dataSource.setDriverClassName("com.mysql.jdbc.Driver");
    dataSource.setMaxActive(jdbcMaxActive);
    dataSource.setMaxIdle(jdbcMaxIdle);
    dataSource.setInitialSize(jdbcInitialSize);
    dataSource.setUrl(dbUrl);
    dataSource.setUsername(jdbcUsername);
    dataSource.setPassword(jdbcPassword);
    dataSource.setTestOnBorrow(true);
    dataSource.setValidationQuery("SELECT 1");

    this.datasources.put(LOOKUP_KEY, dataSource);
}

From source file:org.pentaho.platform.engine.services.connection.datasource.dbcp.NonPooledDatasourceService.java

private DataSource convert(IDatasource datasource) {
    BasicDataSource basicDatasource = new BasicDataSource();
    basicDatasource.setDriverClassName(datasource.getDriverClass());
    basicDatasource.setMaxActive(datasource.getMaxActConn());
    basicDatasource.setMaxIdle(datasource.getIdleConn());
    basicDatasource.setMaxWait(datasource.getWait());
    basicDatasource.setUrl(datasource.getUrl());
    basicDatasource.setUsername(datasource.getUserName());
    basicDatasource.setPassword(datasource.getPassword());
    basicDatasource.setValidationQuery(datasource.getQuery());
    return basicDatasource;
}

From source file:org.pinus4j.cluster.impl.AppDBClusterImpl.java

@Override
public void buildDataSource(DBInfo dbConnInfo) throws LoadConfigException {
    AppDBInfo appDbConnInfo = (AppDBInfo) dbConnInfo;

    LOG.info(dbConnInfo.toString());//from  w  w w . j a va  2s .c  o  m

    try {
        BasicDataSource ds = new BasicDataSource();
        ds.setDriverClassName(enumDb.getDriverClass());
        ds.setUsername(appDbConnInfo.getUsername());
        ds.setPassword(appDbConnInfo.getPassword());
        ds.setUrl(appDbConnInfo.getUrl());

        // ?
        Map<String, Object> dbConnPoolInfo = appDbConnInfo.getConnPoolInfo();
        ds.setValidationQuery("SELECT 1");
        ds.setMaxActive((Integer) dbConnPoolInfo.get(Const.PROP_MAXACTIVE));
        ds.setMinIdle((Integer) dbConnPoolInfo.get(Const.PROP_MINIDLE));
        ds.setMaxIdle((Integer) dbConnPoolInfo.get(Const.PROP_MAXIDLE));
        ds.setInitialSize((Integer) dbConnPoolInfo.get(Const.PROP_INITIALSIZE));
        ds.setRemoveAbandoned((Boolean) dbConnPoolInfo.get(Const.PROP_REMOVEABANDONED));
        ds.setRemoveAbandonedTimeout((Integer) dbConnPoolInfo.get(Const.PROP_REMOVEABANDONEDTIMEOUT));
        ds.setMaxWait((Integer) dbConnPoolInfo.get(Const.PROP_MAXWAIT));
        ds.setTimeBetweenEvictionRunsMillis(
                (Integer) dbConnPoolInfo.get(Const.PROP_TIMEBETWEENEVICTIONRUNSMILLIS));
        ds.setNumTestsPerEvictionRun((Integer) dbConnPoolInfo.get(Const.PROP_NUMTESTSPEREVICTIONRUN));
        ds.setMinEvictableIdleTimeMillis((Integer) dbConnPoolInfo.get(Const.PROP_MINEVICTABLEIDLETIMEMILLIS));

        dbConnInfo.setDatasource(ds);
    } catch (Exception e) {
        throw new LoadConfigException(e);
    }
}

From source file:org.sbq.batch.configurations.DatabaseConfiguration.java

@Bean(destroyMethod = "close")
public DataSource dbcpDataSource() {
    BasicDataSource dataSource = new BasicDataSource();
    dataSource.setDriverClassName("com.mysql.jdbc.Driver");
    dataSource.setUrl("jdbc:mysql://127.0.0.1:3306/batch_db");
    dataSource.setUsername("root");
    dataSource.setPassword("");
    dataSource.setMaxActive(20);/* w w w. j av a 2s. c  o  m*/
    dataSource.setMaxIdle(20);
    dataSource.setMaxWait(10000);
    dataSource.setInitialSize(5);
    dataSource.setValidationQuery("SELECT 1");
    dataSource.setDefaultTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
    return dataSource;
}

From source file:org.shelloid.vpt.rms.util.Platform.java

private BasicDataSource configDbPool() {
    BasicDataSource ds = new BasicDataSource();
    ds.setTestOnBorrow(true);//from  w ww  . ja v a 2s.  c o  m
    ds.setValidationQuery("SELECT 1");
    ds.setDriverClassName(get(Configurations.ConfigParams.JDBC_DRIVER));
    ds.setUrl(get(Configurations.ConfigParams.JDBC_URL));
    ds.setUsername(get(Configurations.ConfigParams.JDBC_USERNAME));
    ds.setPassword(get(Configurations.ConfigParams.JDBC_PASSWORD));
    ds.setMaxActive(Integer.parseInt(get(Configurations.ConfigParams.JDBC_MAX_ACTIVE)));
    ds.setMaxIdle(Integer.parseInt(get(Configurations.ConfigParams.JDBC_MIN_IDLE)));
    return ds;
}

From source file:org.snaker.engine.access.jdbc.JdbcHelper.java

/**
 * dataSourcedbcp??//  ww w .  jav a  2s.c  o m
 */
private static void initialize() {
    String driver = ConfigHelper.getProperty("jdbc.driver");
    String url = ConfigHelper.getProperty("jdbc.url");
    String username = ConfigHelper.getProperty("jdbc.username");
    String password = ConfigHelper.getProperty("jdbc.password");
    int maxActive = ConfigHelper.getNumerProperty("jdbc.max.active");
    int maxIdle = ConfigHelper.getNumerProperty("jdbc.max.idle");
    AssertHelper.notNull(driver);
    AssertHelper.notNull(url);
    AssertHelper.notNull(username);
    AssertHelper.notNull(password);
    //?DBCP??
    BasicDataSource ds = new BasicDataSource();
    ds.setDriverClassName(driver);
    ds.setUrl(url);
    ds.setUsername(username);
    ds.setPassword(password);
    if (maxActive != 0) {
        ds.setMaxActive(maxActive);
    }
    if (maxIdle != 0) {
        ds.setMaxIdle(maxIdle);
    }
    dataSource = ds;
}

From source file:org.wsm.database.tools.util.MysqlBaseLoadTestConnectionManager.java

public BasicDataSource getBasicDataSourceSetup() {
    BasicDataSource bds = super.setupBasicDataSourcePooling();
    bds.setMaxActive(150);// w w w. ja v  a2 s.  c o  m
    bds.setMaxIdle(8);
    bds.setMaxWait(3000);
    return bds;
}

From source file:org.wso2.carbon.registry.core.jdbc.utils.RegistryDataSource.java

public RegistryDataSource(DataBaseConfiguration config) {

    BasicDataSource basicDataSource = new BasicDataSource();
    basicDataSource.setUrl(config.getDbUrl());
    basicDataSource.setDriverClassName(config.getDriverName());
    basicDataSource.setUsername(config.getUserName());
    basicDataSource.setPassword(config.getResolvedPassword());

    if (config.getMaxActive() != null) {
        basicDataSource.setMaxActive(Integer.parseInt(config.getMaxActive()));
    } else {//from  w w  w .  j a v  a  2  s .  co m
        basicDataSource.setMaxActive(DEFAULT_MAX_ACTIVE);
    }

    if (config.getMaxWait() != null) {
        basicDataSource.setMaxWait(Integer.parseInt(config.getMaxWait()));
    } else {
        basicDataSource.setMaxWait(DEFAULT_MAX_WAIT);
    }

    if (config.getMaxIdle() != null) {
        basicDataSource.setMaxIdle(Integer.parseInt(config.getMaxIdle()));
    }

    if (config.getMinIdle() != null) {
        basicDataSource.setMinIdle(Integer.parseInt(config.getMinIdle()));
    } else {
        basicDataSource.setMinIdle(DEFAULT_MIN_IDLE);
    }

    this.dataSource = basicDataSource;
}