Example usage for org.apache.commons.pool2.impl AbandonedConfig AbandonedConfig

List of usage examples for org.apache.commons.pool2.impl AbandonedConfig AbandonedConfig

Introduction

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

Prototype

AbandonedConfig

Source Link

Usage

From source file:ch.cyberduck.core.pool.DefaultSessionPool.java

public DefaultSessionPool(final ConnectionService connect, final X509TrustManager trust,
        final X509KeyManager key, final VaultRegistry registry, final PathCache cache,
        final TranscriptListener transcript, final Host bookmark) {
    this.connect = connect;
    this.registry = registry;
    this.cache = cache;
    this.bookmark = bookmark;
    this.transcript = transcript;
    final GenericObjectPoolConfig configuration = new GenericObjectPoolConfig();
    configuration.setJmxEnabled(false);/* ww  w .  j a  v  a  2s  . c o  m*/
    configuration.setEvictionPolicyClassName(CustomPoolEvictionPolicy.class.getName());
    configuration.setBlockWhenExhausted(true);
    configuration.setMaxWaitMillis(BORROW_MAX_WAIT_INTERVAL);
    this.pool = new GenericObjectPool<Session>(
            new PooledSessionFactory(connect, trust, key, cache, bookmark, registry), configuration);
    final AbandonedConfig abandon = new AbandonedConfig();
    abandon.setUseUsageTracking(true);
    this.pool.setAbandonedConfig(abandon);
}

From source file:io.seldon.dbcp.DbcpFactory.java

private void createDbcp(DbcpConfig conf) {
    if (!dataSources.containsKey(conf.name)) {
        try {//from  w  w  w. j ava  2s .  c om

            Class.forName(conf.driverClassName);

            DriverManagerConnectionFactory cf = new DriverManagerConnectionFactory(conf.jdbc, conf.user,
                    conf.password);

            PoolableConnectionFactory pcf = new PoolableConnectionFactory(cf, null);
            pcf.setValidationQuery(conf.validationQuery);
            //, pool, null, conf.validationQuery, false, true,abandondedConfig);

            logger.info("Creating pool " + conf.toString());
            // create a generic pool
            GenericObjectPool<PoolableConnection> pool = new GenericObjectPool<PoolableConnection>(pcf);
            pool.setMaxTotal(conf.maxTotal);
            pool.setMaxIdle(conf.maxIdle);
            pool.setMinIdle(conf.minIdle);
            pool.setMaxWaitMillis(conf.maxWait);
            pool.setTimeBetweenEvictionRunsMillis(conf.timeBetweenEvictionRunsMillis);
            pool.setMinEvictableIdleTimeMillis(conf.minEvictableIdleTimeMillis);
            pool.setTestWhileIdle(conf.testWhileIdle);
            pool.setTestOnBorrow(conf.testOnBorrow);

            AbandonedConfig abandonedConfig = new AbandonedConfig();
            abandonedConfig.setRemoveAbandonedOnMaintenance(conf.removeAbanadoned);
            abandonedConfig.setRemoveAbandonedTimeout(conf.removeAbandonedTimeout);
            abandonedConfig.setLogAbandoned(conf.logAbandonded);

            pool.setAbandonedConfig(abandonedConfig);

            pcf.setPool(pool);
            DataSource ds = new PoolingDataSource(pool);
            dataSources.put(conf.name, ds);

        } catch (ClassNotFoundException e) {
            logger.error(
                    "Failed to create datasource for " + conf.name + " with class " + conf.driverClassName);
        }

    } else {
        logger.error("Pool " + conf.name + " already exists. Can't change existing datasource at present.");
    }
}

From source file:ezbake.thrift.ThriftClientPool.java

/**
 * Initializes a new ThriftClientPool.//  ww  w.ja  v a  2s  .c  o m
 *
 * @param configuration The properties for this instance of the pool
 */
public ThriftClientPool(Properties configuration) {
    this.configuration = new EzProperties(configuration, true);
    /* We only need to use this to get the application name, so we want this to fall out of scope and get garbage
     collected */
    EzBakeApplicationConfigurationHelper appConfig = new EzBakeApplicationConfigurationHelper(configuration);
    this.applicationName = appConfig.getApplicationName();
    this.applicationSecurityId = appConfig.getSecurityID();
    if (Strings.isNullOrEmpty(applicationName)) {
        logger.warn("No application name was found.  Only common services will be discoverable");
    }

    this.thriftConfiguration = new ThriftConfigurationHelper(configuration);

    poolConfig = new GenericObjectPoolConfig();
    poolConfig.setMaxIdle(thriftConfiguration.getMaxIdleClients());
    poolConfig.setMaxTotal(thriftConfiguration.getMaxPoolClients());
    poolConfig.setMinEvictableIdleTimeMillis(thriftConfiguration.getMillisIdleBeforeEviction());
    poolConfig.setTimeBetweenEvictionRunsMillis(thriftConfiguration.getMillisIdleBeforeEviction());
    poolConfig.setTestOnBorrow(thriftConfiguration.getTestOnBorrow());
    poolConfig.setTestWhileIdle(thriftConfiguration.getTestWhileIdle());
    poolConfig.setBlockWhenExhausted(thriftConfiguration.getBlockWhenExhausted());

    abandonedConfig = new AbandonedConfig();
    abandonedConfig.setLogAbandoned(thriftConfiguration.getLogAbandoned());
    abandonedConfig.setRemoveAbandonedOnBorrow(thriftConfiguration.getRemoveAbandonedOnBorrow());
    abandonedConfig.setRemoveAbandonedOnMaintenance(thriftConfiguration.getRemoveAbandonedOnMaintenance());
    abandonedConfig.setRemoveAbandonedTimeout(thriftConfiguration.getRemoveAbandonedTimeout());

    if (!thriftConfiguration.actuallyPoolClients()) {
        logger.info("Thrift client pool is NOT actually pooling clients!");
    }

    ServiceDiscovery serviceDiscoveryClient = getServiceDiscoveryClient();
    try {
        this.commonServices.addAll(serviceDiscoveryClient.getServices());
    } catch (Exception e) {
        logger.warn("Could not obtain common services!");
        throw new RuntimeException(e);
    }

    RefreshEndpoints(serviceDiscoveryClient);
    RefreshCommonEndpoints(serviceDiscoveryClient);
    closeClient(serviceDiscoveryClient);
}

From source file:ddf.ldap.ldaplogin.LdapLoginConfig.java

private AbandonedConfig createGenericPoolAbandonConfig() {
    AbandonedConfig abandonedConfig = new AbandonedConfig();
    abandonedConfig.setRemoveAbandonedOnBorrow(true);
    abandonedConfig.setRemoveAbandonedTimeout(FIVE_MIN_S);
    return abandonedConfig;
}

From source file:JDBCPool.dbcp.demo.sourcecode.GenericObjectPool.java

/**
 * Sets the abandoned object removal configuration.
 *
 * @param abandonedConfig the new configuration to use. This is used by value.
 *
 * @see AbandonedConfig/*from   w  ww .  j  av  a2  s .  c  om*/
 */
public void setAbandonedConfig(AbandonedConfig abandonedConfig) throws IllegalArgumentException {
    if (abandonedConfig == null) {
        this.abandonedConfig = null;
    } else {
        this.abandonedConfig = new AbandonedConfig();
        this.abandonedConfig.setLogAbandoned(abandonedConfig.getLogAbandoned());
        this.abandonedConfig.setLogWriter(abandonedConfig.getLogWriter());
        this.abandonedConfig.setRemoveAbandonedOnBorrow(abandonedConfig.getRemoveAbandonedOnBorrow());
        this.abandonedConfig.setRemoveAbandonedOnMaintenance(abandonedConfig.getRemoveAbandonedOnMaintenance());
        this.abandonedConfig.setRemoveAbandonedTimeout(abandonedConfig.getRemoveAbandonedTimeout());
        this.abandonedConfig.setUseUsageTracking(abandonedConfig.getUseUsageTracking());
    }
}

From source file:JDBCPool.dbcp.demo.sourcecode.BasicDataSource.java

/**
 * @param removeAbandonedOnMaintenance true means abandoned connections may
 *                                     be removed on pool maintenance.
 * @see #getRemoveAbandonedOnMaintenance()
 *///from  w  ww .j a v  a 2 s .co m
public void setRemoveAbandonedOnMaintenance(boolean removeAbandonedOnMaintenance) {
    if (abandonedConfig == null) {
        abandonedConfig = new AbandonedConfig();
    }
    abandonedConfig.setRemoveAbandonedOnMaintenance(removeAbandonedOnMaintenance);
}

From source file:JDBCPool.dbcp.demo.sourcecode.BasicDataSource.java

/**
 * @param removeAbandonedOnBorrow true means abandoned connections may be
 *                                removed when connections are borrowed from the pool.
 * @see #getRemoveAbandonedOnBorrow()/*from   w  w w  . j  a va  2 s .co  m*/
 */
public void setRemoveAbandonedOnBorrow(boolean removeAbandonedOnBorrow) {
    if (abandonedConfig == null) {
        abandonedConfig = new AbandonedConfig();
    }
    abandonedConfig.setRemoveAbandonedOnBorrow(removeAbandonedOnBorrow);
}

From source file:JDBCPool.dbcp.demo.sourcecode.BasicDataSource.java

/**
 * <p>Sets the timeout in seconds before an abandoned connection can be
 * removed.</p>/*w w w.ja  v a 2  s.c  om*/
 *
 * <p>Setting this property has no effect if
 * {@link #getRemoveAbandonedOnBorrow()} and
 * {@link #getRemoveAbandonedOnMaintenance()} are false.</p>
 *
 * @param removeAbandonedTimeout new abandoned timeout in seconds
 * @see #getRemoveAbandonedTimeout()
 * @see #getRemoveAbandonedOnBorrow()
 * @see #getRemoveAbandonedOnMaintenance()
 */
public void setRemoveAbandonedTimeout(int removeAbandonedTimeout) {
    if (abandonedConfig == null) {
        abandonedConfig = new AbandonedConfig();
    }
    abandonedConfig.setRemoveAbandonedTimeout(removeAbandonedTimeout);
}

From source file:JDBCPool.dbcp.demo.sourcecode.BasicDataSource.java

/**
 * @param logAbandoned new logAbandoned property value
 *//* ww  w. j  a v  a  2s.c o  m*/
public void setLogAbandoned(boolean logAbandoned) {
    if (abandonedConfig == null) {
        abandonedConfig = new AbandonedConfig();
    }
    abandonedConfig.setLogAbandoned(logAbandoned);
}

From source file:JDBCPool.dbcp.demo.sourcecode.BasicDataSource.java

/**
 * Sets the log writer to be used by this configuration to log
 * information on abandoned objects.//  www .  j  a  va2 s  . com
 *
 * @param logWriter The new log writer
 */
public void setAbandonedLogWriter(PrintWriter logWriter) {
    if (abandonedConfig == null) {
        abandonedConfig = new AbandonedConfig();
    }
    abandonedConfig.setLogWriter(logWriter);
}