当前位置: 首页>>代码示例>>Java>>正文


Java GenericKeyedObjectPoolConfig.setTestWhileIdle方法代码示例

本文整理汇总了Java中org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig.setTestWhileIdle方法的典型用法代码示例。如果您正苦于以下问题:Java GenericKeyedObjectPoolConfig.setTestWhileIdle方法的具体用法?Java GenericKeyedObjectPoolConfig.setTestWhileIdle怎么用?Java GenericKeyedObjectPoolConfig.setTestWhileIdle使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig的用法示例。


在下文中一共展示了GenericKeyedObjectPoolConfig.setTestWhileIdle方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: registerPool

import org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig; //导入方法依赖的package包/类
private void registerPool(final String username, final String password)
        throws NamingException, SQLException {

    final ConnectionPoolDataSource cpds = testCPDS(username, password);

    // Create an object pool to contain our PooledConnections
    factory = new KeyedCPDSConnectionFactory(cpds, getValidationQuery(),
            getValidationQueryTimeout(), isRollbackAfterValidation());
    factory.setMaxConnLifetimeMillis(getMaxConnLifetimeMillis());

    final GenericKeyedObjectPoolConfig config =
            new GenericKeyedObjectPoolConfig();
    config.setBlockWhenExhausted(getDefaultBlockWhenExhausted());
    config.setEvictionPolicyClassName(getDefaultEvictionPolicyClassName());
    config.setLifo(getDefaultLifo());
    config.setMaxIdlePerKey(getDefaultMaxIdle());
    config.setMaxTotal(getMaxTotal());
    config.setMaxTotalPerKey(getDefaultMaxTotal());
    config.setMaxWaitMillis(getDefaultMaxWaitMillis());
    config.setMinEvictableIdleTimeMillis(
            getDefaultMinEvictableIdleTimeMillis());
    config.setMinIdlePerKey(getDefaultMinIdle());
    config.setNumTestsPerEvictionRun(getDefaultNumTestsPerEvictionRun());
    config.setSoftMinEvictableIdleTimeMillis(
            getDefaultSoftMinEvictableIdleTimeMillis());
    config.setTestOnCreate(getDefaultTestOnCreate());
    config.setTestOnBorrow(getDefaultTestOnBorrow());
    config.setTestOnReturn(getDefaultTestOnReturn());
    config.setTestWhileIdle(getDefaultTestWhileIdle());
    config.setTimeBetweenEvictionRunsMillis(
            getDefaultTimeBetweenEvictionRunsMillis());

    final KeyedObjectPool<UserPassKey,PooledConnectionAndInfo> tmpPool =
            new GenericKeyedObjectPool<>(factory, config);
    factory.setPool(tmpPool);
    pool = tmpPool;
}
 
开发者ID:apache,项目名称:commons-dbcp,代码行数:38,代码来源:SharedPoolDataSource.java

示例2: getConfig

import org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig; //导入方法依赖的package包/类
private GenericKeyedObjectPoolConfig getConfig(PoolConfig poolConfig) {
	GenericKeyedObjectPoolConfig objectPoolConfig = new GenericKeyedObjectPoolConfig();

	objectPoolConfig.setMaxTotalPerKey(poolConfig.getMaxTotalPerKey());
	objectPoolConfig.setMaxTotal(poolConfig.getMaxTotal());

	objectPoolConfig.setMaxIdlePerKey(poolConfig.getMaxIdlePerKey());
	objectPoolConfig.setMinIdlePerKey(poolConfig.getMinIdlePerKey());

	objectPoolConfig.setTestWhileIdle(poolConfig.isTestWhileIdle());
	objectPoolConfig.setTestOnReturn(poolConfig.isTestOnReturn());
	objectPoolConfig.setTestOnCreate(poolConfig.isTestOnCreate());
	objectPoolConfig.setTestOnBorrow(poolConfig.isTestOnBorrow());

	objectPoolConfig.setTimeBetweenEvictionRunsMillis(poolConfig.getTimeBetweenEvictionRunsMillis());
	objectPoolConfig.setEvictionPolicyClassName(poolConfig.getEvictionPolicyClassName());
	objectPoolConfig.setMinEvictableIdleTimeMillis(poolConfig.getMinEvictableIdleTimeMillis());
	objectPoolConfig.setNumTestsPerEvictionRun(poolConfig.getNumTestsPerEvictionRun());
	objectPoolConfig.setSoftMinEvictableIdleTimeMillis(poolConfig.getSoftMinEvictableIdleTimeMillis());

	objectPoolConfig.setJmxEnabled(poolConfig.isJmxEnabled());
	objectPoolConfig.setJmxNameBase(poolConfig.getJmxNameBase());
	objectPoolConfig.setJmxNamePrefix(poolConfig.getJmxNamePrefix());

	objectPoolConfig.setMaxWaitMillis(poolConfig.getMaxWaitMillis());

	objectPoolConfig.setFairness(poolConfig.isFairness());
	objectPoolConfig.setBlockWhenExhausted(poolConfig.isBlockWhenExhausted());
	objectPoolConfig.setLifo(poolConfig.isLifo());

	return objectPoolConfig;
}
 
开发者ID:spring-projects,项目名称:spring-ldap,代码行数:33,代码来源:PooledContextSource.java

示例3: initTrackerConfig

import org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig; //导入方法依赖的package包/类
private void initTrackerConfig(Config cf) {
    GenericKeyedObjectPoolConfig pc = new GenericKeyedObjectPoolConfig();

    pc.setLifo(cf.getBooleanValue("pool.tracker.lifo", true));
    pc.setMaxTotalPerKey(cf.getIntValue("pool.tracker.maxTotal", 10));
    pc.setMinIdlePerKey(cf.getIntValue("pool.tracker.minIdle", 2));
    pc.setMaxIdlePerKey(cf.getIntValue("pool.tracker.maxIdle", 4));
    pc.setMaxWaitMillis(cf.getIntValue("pool.tracker.maxWaitMillis", 10 * 1000));
    pc.setSoftMinEvictableIdleTimeMillis(cf.getIntValue("pool.tracker.softMinEvictableIdleTimeMillis",
            1000 * 60 * 2));
    pc.setTestWhileIdle(cf.getBooleanValue("pool.tracker.testWhileIdle", true));
    pc.setTimeBetweenEvictionRunsMillis(cf.getIntValue("pool.tracker.timeBetweenEvictionRunsMillis", 1000 * 12));
    pc.setMinEvictableIdleTimeMillis(cf.getIntValue("pool.tracker.minEvictableIdleTimeMillis", 1000 * 60 * 5));

    trackerServers = new FdfsKeyedObjectPool<PooledTrackerServer>(new PooledServerFactory<PooledTrackerServer>() {
        @Override
        public PooledTrackerServer create(InetSocketAddress address) throws IOException {

            PooledTrackerServer srv = new PooledTrackerServer(address);

            if (log.isDebugEnabled()) {
                log.debug(String.format("create tracker server:%s address:%X", address.toString(), srv.hashCode()));
            }

            return srv;
        }
    }, pc);
}
 
开发者ID:fanyunfeng,项目名称:jfdfslib,代码行数:29,代码来源:PooledFdfsServerFactory.java

示例4: initStorageConfig

import org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig; //导入方法依赖的package包/类
private void initStorageConfig(Config cf) {
    GenericKeyedObjectPoolConfig pc = new GenericKeyedObjectPoolConfig();

    pc.setLifo(cf.getBooleanValue("pool.storage.lifo", true));
    pc.setMaxTotalPerKey(cf.getIntValue("pool.storage.maxTotal", 20));
    pc.setMinIdlePerKey(cf.getIntValue("pool.storage.minIdle", 2));
    pc.setMaxIdlePerKey(cf.getIntValue("pool.storage.maxIdle", 8));
    pc.setMaxWaitMillis(cf.getIntValue("pool.storage.maxWaitMillis", 10 * 1000));
    pc.setSoftMinEvictableIdleTimeMillis(cf.getIntValue("pool.storage.softMinEvictableIdleTimeMillis",
            1000 * 60 * 2));
    pc.setTestWhileIdle(cf.getBooleanValue("pool.storage.testWhileIdle", true));
    pc.setTimeBetweenEvictionRunsMillis(cf.getIntValue("pool.storage.timeBetweenEvictionRunsMillis", 1000 * 12));
    pc.setMinEvictableIdleTimeMillis(cf.getIntValue("pool.storage.minEvictableIdleTimeMillis", 1000 * 60 * 3));

    storageServers = new FdfsKeyedObjectPool<PooledStorageServer>(new PooledServerFactory<PooledStorageServer>() {
        @Override
        public PooledStorageServer create(InetSocketAddress address) throws IOException {

            PooledStorageServer srv = new PooledStorageServer(address, 0);

            if (log.isDebugEnabled()) {
                log.debug(String.format("create storge server:%s address:%X", address.toString(), srv.hashCode()));
            }

            return srv;
        }
    }, pc);
}
 
开发者ID:fanyunfeng,项目名称:jfdfslib,代码行数:29,代码来源:PooledFdfsServerFactory.java

示例5: ThriftConnectionPool

import org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig; //导入方法依赖的package包/类
public ThriftConnectionPool(Class<T> cls, ThriftPoolConfig cfg,ThriftConnectionFactory connectionFactory) {
    this.clientClass = cls;
    this.cfg = cfg;
    poolConfig = new GenericKeyedObjectPoolConfig();
    poolConfig.setLifo(cfg.getBoolean("thrift.pool.lifo", false));
    poolConfig.setMaxTotal(cfg.getInt("thrift.pool.maxActive", 10));
    poolConfig.setMaxIdlePerKey(cfg.getInt("thrift.pool.maxIdlePerKey", 3));
    poolConfig.setMinIdlePerKey(cfg.getInt("thrift.pool.minIdlePerKey", 0));
    poolConfig.setMaxTotalPerKey(cfg.getInt("thrift.pool.maxTotalPerKey", 10));

    /**
     set the maximum amount of time (in milliseconds) the
     <code>borrowObject()</code> method should block before throwing an
     exception when the pool is exhausted and {@link #getBlockWhenExhausted} is true.
     When less than 0, the <code>borrowObject()</code> method may block indefinitely.
     */
    poolConfig.setMaxWaitMillis(cfg.getInt("thrift.pool.maxWait",20 * 1000));
    /**
     Sets whether to block when the <code>borrowObject()</code> method is
     invoked when the pool is exhausted (the maximum number of "active"
     objects has been reached).
     */
    poolConfig.setBlockWhenExhausted(true);
    /**为了提升性能 关闭testOnBorrow**/
    poolConfig.setTestOnBorrow(false);
    poolConfig.setTestWhileIdle(true);

    this.loop = cfg.getBoolean("thrift.pool.get.loop",false);

    // 开启一个线程执行扫描检测connection
    poolConfig.setTimeBetweenEvictionRunsMillis(cfg.getInt("thrift.pool.timeBetweenEvictionRunsMillis",3*60*1000));
    poolConfig.setMinEvictableIdleTimeMillis(cfg.getInt("thrift.pool.minEvictableIdleTimeMillis",5*60*1000));
    poolConfig.setNumTestsPerEvictionRun(cfg.getInt("thrift.pool.numTestsPerEvictionRun",3));
    this.factory = connectionFactory;
    this.factory.setPool(this);
    mPool = new GenericKeyedObjectPool<>(factory, poolConfig);
}
 
开发者ID:houdejun214,项目名称:lakeside-java,代码行数:38,代码来源:ThriftConnectionPool.java


注:本文中的org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig.setTestWhileIdle方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。