Java Code Examples for org.apache.commons.pool2.impl.GenericObjectPool#setLifo()
The following examples show how to use
org.apache.commons.pool2.impl.GenericObjectPool#setLifo() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: BasicDataSource.java From commons-dbcp with Apache License 2.0 | 6 votes |
/** * Creates a connection pool for this datasource. This method only exists so subclasses can replace the * implementation class. * <p> * This implementation configures all pool properties other than timeBetweenEvictionRunsMillis. Setting that * property is deferred to {@link #startPoolMaintenance()}, since setting timeBetweenEvictionRunsMillis to a * positive value causes {@link GenericObjectPool}'s eviction timer to be started. * </p> * * @param factory The factory to use to create new connections for this pool. */ protected void createConnectionPool(final PoolableConnectionFactory factory) { // Create an object pool to contain our active connections final GenericObjectPoolConfig<PoolableConnection> config = new GenericObjectPoolConfig<>(); updateJmxName(config); // Disable JMX on the underlying pool if the DS is not registered: config.setJmxEnabled(registeredJmxObjectName != null); final GenericObjectPool<PoolableConnection> gop = createObjectPool(factory, config, abandonedConfig); gop.setMaxTotal(maxTotal); gop.setMaxIdle(maxIdle); gop.setMinIdle(minIdle); gop.setMaxWaitMillis(maxWaitMillis); gop.setTestOnCreate(testOnCreate); gop.setTestOnBorrow(testOnBorrow); gop.setTestOnReturn(testOnReturn); gop.setNumTestsPerEvictionRun(numTestsPerEvictionRun); gop.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis); gop.setSoftMinEvictableIdleTimeMillis(softMinEvictableIdleTimeMillis); gop.setTestWhileIdle(testWhileIdle); gop.setLifo(lifo); gop.setSwallowedExceptionListener(new SwallowedExceptionLogger(log, logExpiredConnections)); gop.setEvictionPolicyClassName(evictionPolicyClassName); factory.setPool(gop); connectionPool = gop; }
Example 2
Source File: ProcessDirector.java From jasperreports with GNU Lesser General Public License v3.0 | 5 votes |
private GenericObjectPool<PhantomJSProcess> createProcessPool(JRPropertiesUtil properties) { ProcessFactory processFactory = new ProcessFactory(this, properties); GenericObjectPool<PhantomJSProcess> pool = new GenericObjectPool<>(processFactory); pool.setLifo(true); int maxProcessCount = properties.getIntegerProperty(PhantomJS.PROPERTY_PHANTOMJS_MAX_PROCESS_COUNT, PhantomJS.DEFAULT_PHANTOMJS_MAX_PROCESS_COUNT); pool.setMaxTotal(maxProcessCount); pool.setMaxIdle(maxProcessCount); int borrowTimeout = properties.getIntegerProperty(PhantomJS.PROPERTY_PHANTOMJS_POOL_BORROW_TIMEOUT, PhantomJS.DEFAULT_PHANTOMJS_POOL_BORROW_TIMEOUT); pool.setMaxWaitMillis(borrowTimeout); int idleTimeout = properties.getIntegerProperty(PhantomJS.PROPERTY_PHANTOMJS_IDLE_TIMEOUT, PhantomJS.DEFAULT_PHANTOMJS_IDLE_TIMEOUT); pool.setMinEvictableIdleTimeMillis(idleTimeout); pool.setTimeBetweenEvictionRunsMillis(idlePingInterval); pool.setTestWhileIdle(true); pool.setNumTestsPerEvictionRun(Integer.MAX_VALUE); pool.setSwallowedExceptionListener(new SwallowedExceptionListener() { @Override public void onSwallowException(Exception e) { if (log.isDebugEnabled()) { log.debug("Pool exception", e); } } }); return pool; }
Example 3
Source File: PerUserPoolDataSource.java From commons-dbcp with Apache License 2.0 | 5 votes |
private synchronized void registerPool(final String userName, final String password) throws NamingException, SQLException { final ConnectionPoolDataSource cpds = testCPDS(userName, password); // 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) final CPDSConnectionFactory factory = new CPDSConnectionFactory(cpds, getValidationQuery(), getValidationQueryTimeout(), isRollbackAfterValidation(), userName, password); factory.setMaxConnLifetimeMillis(getMaxConnLifetimeMillis()); // Create an object pool to contain our PooledConnections final GenericObjectPool<PooledConnectionAndInfo> pool = new GenericObjectPool<>(factory); factory.setPool(pool); pool.setBlockWhenExhausted(getPerUserBlockWhenExhausted(userName)); pool.setEvictionPolicyClassName(getPerUserEvictionPolicyClassName(userName)); pool.setLifo(getPerUserLifo(userName)); pool.setMaxIdle(getPerUserMaxIdle(userName)); pool.setMaxTotal(getPerUserMaxTotal(userName)); pool.setMaxWaitMillis(getPerUserMaxWaitMillis(userName)); pool.setMinEvictableIdleTimeMillis(getPerUserMinEvictableIdleTimeMillis(userName)); pool.setMinIdle(getPerUserMinIdle(userName)); pool.setNumTestsPerEvictionRun(getPerUserNumTestsPerEvictionRun(userName)); pool.setSoftMinEvictableIdleTimeMillis(getPerUserSoftMinEvictableIdleTimeMillis(userName)); pool.setTestOnCreate(getPerUserTestOnCreate(userName)); pool.setTestOnBorrow(getPerUserTestOnBorrow(userName)); pool.setTestOnReturn(getPerUserTestOnReturn(userName)); pool.setTestWhileIdle(getPerUserTestWhileIdle(userName)); pool.setTimeBetweenEvictionRunsMillis(getPerUserTimeBetweenEvictionRunsMillis(userName)); pool.setSwallowedExceptionListener(new SwallowedExceptionLogger(log)); final Object old = managers.put(getPoolKey(userName), factory); if (old != null) { throw new IllegalStateException("Pool already contains an entry for this user/password: " + userName); } }