List of usage examples for org.apache.commons.dbcp2 PoolableConnectionFactory validateConnection
public void validateConnection(PoolableConnection conn) throws SQLException
From source file:JDBCPool.dbcp.demo.sourcecode.BasicDataSource.java
/** * ?Pool//w ww . j a v a2 s.c o m * @param connectionFactory * @throws Exception */ protected static void validateConnectionFactory(PoolableConnectionFactory connectionFactory) throws Exception { PoolableConnection conn = null; PooledObject<PoolableConnection> p = null; try { p = connectionFactory.makeObject(); conn = p.getObject(); connectionFactory.activateObject(p); connectionFactory.validateConnection(conn); connectionFactory.passivateObject(p); } finally { if (p != null) { connectionFactory.destroyObject(p); } } }
From source file:org.moneta.healthcheck.DbcpConnectionPoolHealthCheck.java
@Override protected Result check() throws Exception { GenericObjectPool<PoolableConnection> pool = (GenericObjectPool<PoolableConnection>) connectionPool; if (pool.getNumWaiters() > maxWaitingConnections) { return Result.unhealthy( "Overloaded connection pool. name=" + poolName + " nbrWaiters=" + pool.getNumWaiters()); }//ww w . ja v a2 s . c o m PoolableConnectionFactory poolFactory = (PoolableConnectionFactory) pool.getFactory(); PoolableConnection conn = null; try { conn = pool.borrowObject(); poolFactory.validateConnection(conn); } catch (Exception e) { return Result .unhealthy("Database connection validation error. error=" + ExceptionUtils.getStackTrace(e)); } finally { DbUtils.closeQuietly(conn); } return Result.healthy(); }
From source file:org.ops4j.pax.jdbc.pool.dbcp2.impl.BeanConfigTest.java
@Test public void testPoolableConnectionFactory() throws Exception { Map<String, String> props = new HashMap<String, String>(); props.put("validationQuery", "dummyQuery"); props.put("validationQueryTimeout", "1"); PoolableConnectionFactory pcf = new PoolableConnectionFactory(null, null); BeanConfig.configure(pcf, props);//from w w w . j av a2s . c o m PoolableConnection connection = EasyMock.createMock(PoolableConnection.class); connection.validate(EasyMock.eq("dummyQuery"), EasyMock.eq(1)); EasyMock.expectLastCall(); EasyMock.expect(connection.isClosed()).andReturn(false); EasyMock.replay(connection); pcf.validateConnection(connection); EasyMock.verify(connection); }