Example usage for org.apache.commons.dbcp2 PoolableConnectionFactory validateConnection

List of usage examples for org.apache.commons.dbcp2 PoolableConnectionFactory validateConnection

Introduction

In this page you can find the example usage for org.apache.commons.dbcp2 PoolableConnectionFactory validateConnection.

Prototype

public void validateConnection(PoolableConnection conn) throws SQLException 

Source Link

Usage

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);
}