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


Java GenericObjectPool.setTestOnBorrow方法代码示例

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


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

示例1: configureGenericObjectPool

import org.apache.commons.pool.impl.GenericObjectPool; //导入方法依赖的package包/类
protected void configureGenericObjectPool(GenericObjectPool genericObjectPool) throws SyslogRuntimeException {
	SyslogPoolConfigIF poolConfig = null;
	
	try {
		poolConfig = (SyslogPoolConfigIF) this.syslog.getConfig();
		
	} catch (ClassCastException cce) {
		throw new SyslogRuntimeException("config must implement interface SyslogPoolConfigIF");
	}
	
	genericObjectPool.setMaxActive(poolConfig.getMaxActive());
	genericObjectPool.setMaxIdle(poolConfig.getMaxIdle());
	genericObjectPool.setMaxWait(poolConfig.getMaxWait());
	genericObjectPool.setMinEvictableIdleTimeMillis(poolConfig.getMinEvictableIdleTimeMillis());
	genericObjectPool.setMinIdle(poolConfig.getMinIdle());
	genericObjectPool.setNumTestsPerEvictionRun(poolConfig.getNumTestsPerEvictionRun());
	genericObjectPool.setSoftMinEvictableIdleTimeMillis(poolConfig.getSoftMinEvictableIdleTimeMillis());
	genericObjectPool.setTestOnBorrow(poolConfig.isTestOnBorrow());
	genericObjectPool.setTestOnReturn(poolConfig.isTestOnReturn());
	genericObjectPool.setTestWhileIdle(poolConfig.isTestWhileIdle());
	genericObjectPool.setTimeBetweenEvictionRunsMillis(poolConfig.getTimeBetweenEvictionRunsMillis());
	genericObjectPool.setWhenExhaustedAction(poolConfig.getWhenExhaustedAction());
}
 
开发者ID:syslog4j,项目名称:syslog4j,代码行数:24,代码来源:GenericSyslogPoolFactory.java

示例2: configureGenericObjectPool

import org.apache.commons.pool.impl.GenericObjectPool; //导入方法依赖的package包/类
protected void configureGenericObjectPool(GenericObjectPool genericObjectPool) throws SyslogRuntimeException {
    SyslogPoolConfigIF poolConfig = null;

    try {
        poolConfig = (SyslogPoolConfigIF) this.syslog.getConfig();

    } catch (ClassCastException cce) {
        throw new SyslogRuntimeException("config must implement interface SyslogPoolConfigIF");
    }

    genericObjectPool.setMaxActive(poolConfig.getMaxActive());
    genericObjectPool.setMaxIdle(poolConfig.getMaxIdle());
    genericObjectPool.setMaxWait(poolConfig.getMaxWait());
    genericObjectPool.setMinEvictableIdleTimeMillis(poolConfig.getMinEvictableIdleTimeMillis());
    genericObjectPool.setMinIdle(poolConfig.getMinIdle());
    genericObjectPool.setNumTestsPerEvictionRun(poolConfig.getNumTestsPerEvictionRun());
    genericObjectPool.setSoftMinEvictableIdleTimeMillis(poolConfig.getSoftMinEvictableIdleTimeMillis());
    genericObjectPool.setTestOnBorrow(poolConfig.isTestOnBorrow());
    genericObjectPool.setTestOnReturn(poolConfig.isTestOnReturn());
    genericObjectPool.setTestWhileIdle(poolConfig.isTestWhileIdle());
    genericObjectPool.setTimeBetweenEvictionRunsMillis(poolConfig.getTimeBetweenEvictionRunsMillis());
    genericObjectPool.setWhenExhaustedAction(poolConfig.getWhenExhaustedAction());
}
 
开发者ID:graylog-labs,项目名称:syslog4j-graylog2,代码行数:24,代码来源:GenericSyslogPoolFactory.java

示例3: getPoolingDataSourceFromConf

import org.apache.commons.pool.impl.GenericObjectPool; //导入方法依赖的package包/类
public static DataSource getPoolingDataSourceFromConf(Configuration conf) {
  final ConnectionFactory cf = new DriverManagerConnectionFactory(
      conf.get(LensConfConstants.SERVER_DB_JDBC_URL, LensConfConstants.DEFAULT_SERVER_DB_JDBC_URL),
      conf.get(LensConfConstants.SERVER_DB_JDBC_USER, LensConfConstants.DEFAULT_SERVER_DB_USER),
      conf.get(LensConfConstants.SERVER_DB_JDBC_PASS, LensConfConstants.DEFAULT_SERVER_DB_PASS));
  final GenericObjectPool connectionPool = new GenericObjectPool();
  connectionPool.setTestOnBorrow(false);
  connectionPool.setTestOnReturn(false);
  connectionPool.setTestWhileIdle(true);
  new PoolableConnectionFactory(cf, connectionPool, null,
      conf.get(LensConfConstants.SERVER_DB_VALIDATION_QUERY, LensConfConstants.DEFAULT_SERVER_DB_VALIDATION_QUERY),
      false, false).setDefaultAutoCommit(true);
  return new PoolingDataSource(connectionPool);
}
 
开发者ID:apache,项目名称:lens,代码行数:15,代码来源:UtilityMethods.java

示例4: setupDataSource

import org.apache.commons.pool.impl.GenericObjectPool; //导入方法依赖的package包/类
private DataSource setupDataSource(String driver, String connectURI,
                                   String userName, String passwd) throws ClassNotFoundException {

    // driver
    Class.forName(driver);

    //
    // First, we'll need a ObjectPool that serves as the
    // actual pool of connections.
    //
    // We'll use a GenericObjectPool instance, although
    // any ObjectPool implementation will suffice.
    //
    GenericObjectPool connectionPool = new GenericObjectPool(null);
    // 设置在getConnection时验证Connection是否有效
    connectionPool.setTestOnBorrow(true);

    //
    // Next, we'll create a ConnectionFactory that the
    // pool will use to create Connections.
    // We'll use the DriverManagerConnectionFactory,
    // using the connect string passed in the command line
    // arguments.
    //
    ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(
            connectURI, userName, passwd);

    // null can be used as parameter because this parameter is set in
    // PoolableConnectionFactory when creating a new PoolableConnection
    KeyedObjectPoolFactory statementPool = new GenericKeyedObjectPoolFactory(
            null);

    //
    // Now we'll create the PoolableConnectionFactory, which wraps
    // the "real" Connections created by the ConnectionFactory with
    // the classes that implement the pooling functionality.
    //
    new PoolableConnectionFactory(connectionFactory, connectionPool,
            statementPool, "select now()", false, true);

    //
    // Finally, we create the PoolingDriver itself,
    // passing in the object pool we created.
    //
    PoolingDataSource dataSource = new PoolingDataSource(connectionPool);

    return dataSource;
}
 
开发者ID:warlock-china,项目名称:wisp,代码行数:49,代码来源:DbWrapper.java

示例5: addNewPool

import org.apache.commons.pool.impl.GenericObjectPool; //导入方法依赖的package包/类
public void addNewPool(String dbDriver, String dbServer, String dbLogin, String dbPassword,
    int minConns, int maxConns, double maxConnTime, String dbSessionConfig, String _rdbms,
    String name) throws Exception {

  if (this.defaultPoolName == null || this.defaultPoolName.equals("")) {
    this.defaultPoolName = name;
    this.bbdd = dbServer;
    this.rdbms = _rdbms;
  }
  if (externalConnectionPool != null) {
    // No need to create and add a new pool
    return;
  }

  log4j.debug("Loading underlying JDBC driver.");
  try {
    Class.forName(dbDriver);
  } catch (ClassNotFoundException e) {
    throw new Exception(e);
  }
  log4j.debug("Done.");

  GenericObjectPool connectionPool = new GenericObjectPool(null);
  connectionPool.setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_GROW);
  connectionPool.setMaxActive(maxConns);
  connectionPool.setTestOnBorrow(false);
  connectionPool.setTestOnReturn(false);
  connectionPool.setTestWhileIdle(false);

  KeyedObjectPoolFactory keyedObject = new StackKeyedObjectPoolFactory();
  ConnectionFactory connectionFactory = new OpenbravoDriverManagerConnectionFactory(dbServer,
      dbLogin, dbPassword, dbSessionConfig, _rdbms);
  @SuppressWarnings("unused")
  // required by dbcp
  PoolableConnectionFactory poolableConnectionFactory = new PoolableConnectionFactory(
      connectionFactory, connectionPool, keyedObject, null, false, true);

  Class.forName("org.apache.commons.dbcp.PoolingDriver");
  PoolingDriver driver = (PoolingDriver) DriverManager.getDriver("jdbc:apache:commons:dbcp:");
  driver.registerPool(contextName + "_" + name, connectionPool);

}
 
开发者ID:mauyr,项目名称:openbravo-brazil,代码行数:43,代码来源:ConnectionProviderImpl.java

示例6: configurePool

import org.apache.commons.pool.impl.GenericObjectPool; //导入方法依赖的package包/类
/**
 * Configures the database connection pool and sets the pool configuration.
 * 
 * @param connectionPool
 *          The ObjectPool
 * @param connectURI
 *          The url specifying the database to which it
 *          connects using JDBC
 * @param pUserId
 *          The user id attribute
 * @param pPassword
 *          The password attribute
 * 
 * @throws java.lang.Exception
 *           Throws an SQL exception that provides
 *           information on a database access error
 *           or other errors
 * 
 * @todo Make the pool access dynamic (use the dynamic class loader?)
 *       so that the application will compile/run without the Apache
 *       commons library.
 */
private void configurePool(GenericObjectPool connectionPool,
    String connectURI, String pUserId, String pPassword) throws
    Exception {
  String lowerCaseConnectURI;
  String validationQuery;

  lowerCaseConnectURI = connectURI.toLowerCase();
  validationQuery = null;

  if (lowerCaseConnectURI.startsWith("jdbc:sybase")) {
    validationQuery = "select getdate()";
  } else if (lowerCaseConnectURI.startsWith("jdbc:mysql")) {
    validationQuery = "select 1";
  } else if (lowerCaseConnectURI.startsWith("jdbc:oracle")) {
    validationQuery = "select sysdate from dual";
  } else if (lowerCaseConnectURI.startsWith("jdbc:mssql")) {
    validationQuery = "select 1";
  }

  // Pool settings - someday a dialog and persistence should be
  // added to put these under user control
  connectionPool.setMaxActive(1);
  connectionPool.setWhenExhaustedAction(GenericObjectPool.
      WHEN_EXHAUSTED_BLOCK);
  connectionPool.setMaxWait(CONN_POOL_MAX_WAIT_MS);
  connectionPool.setMaxIdle(CONN_POOL_MAX_IDLE_CONNECTIONS);
  connectionPool
      .setTimeBetweenEvictionRunsMillis(CONN_POOL_TIME_BETWEEN_EVICT_RUNS_MS);
  connectionPool.setNumTestsPerEvictionRun(CONN_POOL_NUM_TESTS_PER_EVICT_RUN);
  connectionPool.setMinEvictableIdleTimeMillis(CONN_POOL_EVICT_IDLE_TIME_MS);

  final DriverManagerConnectionFactory connectionFactory = new
      DriverManagerConnectionFactory(connectURI, pUserId, pPassword);
  final PoolableConnectionFactory poolableConnectionFactory = new
      PoolableConnectionFactory(connectionFactory, connectionPool, null,
          null, false, true);

  if (validationQuery != null) {
    connectionPool.setTestOnBorrow(true);
    connectionPool.setTestWhileIdle(true);
    poolableConnectionFactory.setValidationQuery(validationQuery);
  }
}
 
开发者ID:DaveRead,项目名称:BasicQuery,代码行数:66,代码来源:BasicQuery.java

示例7: registerPool

import org.apache.commons.pool.impl.GenericObjectPool; //导入方法依赖的package包/类
private synchronized void registerPool(
    String username, String password) 
    throws javax.naming.NamingException, SQLException {

    ConnectionPoolDataSource cpds = testCPDS(username, password);

    Integer userMax = getPerUserMaxActive(username);
    int maxActive = (userMax == null) ? 
        getDefaultMaxActive() : userMax.intValue();
    userMax = getPerUserMaxIdle(username);
    int maxIdle =  (userMax == null) ?
        getDefaultMaxIdle() : userMax.intValue();
    userMax = getPerUserMaxWait(username);
    int maxWait = (userMax == null) ?
        getDefaultMaxWait() : userMax.intValue();

    // Create an object pool to contain our PooledConnections
    GenericObjectPool pool = new GenericObjectPool(null);
    pool.setMaxActive(maxActive);
    pool.setMaxIdle(maxIdle);
    pool.setMaxWait(maxWait);
    pool.setWhenExhaustedAction(whenExhaustedAction(maxActive, maxWait));
    pool.setTestOnBorrow(getTestOnBorrow());
    pool.setTestOnReturn(getTestOnReturn());
    pool.setTimeBetweenEvictionRunsMillis(
        getTimeBetweenEvictionRunsMillis());
    pool.setNumTestsPerEvictionRun(getNumTestsPerEvictionRun());
    pool.setMinEvictableIdleTimeMillis(getMinEvictableIdleTimeMillis());
    pool.setTestWhileIdle(getTestWhileIdle());
            
    // Set up the factory we will use (passing the pool associates
    // the factory with the pool, so we do not have to do so
    // explicitly)
    CPDSConnectionFactory factory = new CPDSConnectionFactory(cpds, pool, getValidationQuery(),
            isRollbackAfterValidation(), username, password);
       
    Object old = managers.put(getPoolKey(username,password), factory);
    if (old != null) {
        throw new IllegalStateException("Pool already contains an entry for this user/password: "+username);
    }
}
 
开发者ID:WhiteBearSolutions,项目名称:WBSAirback,代码行数:42,代码来源:PerUserPoolDataSource.java

示例8: run

import org.apache.commons.pool.impl.GenericObjectPool; //导入方法依赖的package包/类
private void run(int nrIterations, int nrThreads, int maxActive, int maxIdle) {
    this.nrIterations = nrIterations;
    init();
    
    SleepingObjectFactory factory = new SleepingObjectFactory();
    if (logLevel >= 4) { factory.setDebug(true); } 
    pool = new GenericObjectPool(factory);
    pool.setMaxActive(maxActive);
    pool.setMaxIdle(maxIdle);
    pool.setTestOnBorrow(true);

    Thread[] threads = new Thread[nrThreads];
    for (int i = 0; i < threads.length; i++) {
        threads[i]= new Thread(new MyThread(), Integer.toString(i));
        Thread.yield();
    }
    if (logLevel >= 1) { System.out.println("created"); } 
    Thread.yield();

    for (int i = 0; i < threads.length; i++) {
        threads[i].start();
        Thread.yield();
    }
    if (logLevel >= 1) { System.out.println("started"); }
    Thread.yield();

    start = true;
    if (logLevel >= 1) { System.out.println("go"); }
    Thread.yield();

    for (int i = 0; i < threads.length; i++) {
        try {
            threads[i].join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    if (logLevel >= 1) { System.out.println("finish"); }
    System.out.println("-----------------------------------------");
    System.out.println("nrIterations: " + nrIterations);
    System.out.println("nrThreads: " + nrThreads);
    System.out.println("maxActive: " + maxActive);
    System.out.println("maxIdle: " + maxIdle);
    System.out.println("nrSamples: " + nrSamples);
    System.out.println("totalBorrowTime: " + totalBorrowTime);
    System.out.println("totalReturnTime: " + totalReturnTime);
    System.out.println("avg BorrowTime: " + totalBorrowTime/nrSamples);
    System.out.println("avg ReturnTime: " + totalReturnTime/nrSamples);
}
 
开发者ID:WhiteBearSolutions,项目名称:WBSAirback,代码行数:50,代码来源:PerformanceTest.java


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