Example usage for org.apache.commons.dbcp2 PoolableConnection passivate

List of usage examples for org.apache.commons.dbcp2 PoolableConnection passivate

Introduction

In this page you can find the example usage for org.apache.commons.dbcp2 PoolableConnection passivate.

Prototype

@Override
    protected void passivate() throws SQLException 

Source Link

Usage

From source file:JDBCPool.dbcp.demo.sourcecode.PoolableConnectionFactory.java

@Override
public void passivateObject(PooledObject<PoolableConnection> p) throws Exception {

    validateLifetime(p);//from  w  ww.  j av  a 2s .c  om

    PoolableConnection conn = p.getObject();
    Boolean connAutoCommit = null;
    if (rollbackOnReturn) {
        connAutoCommit = Boolean.valueOf(conn.getAutoCommit());
        if (!connAutoCommit.booleanValue() && !conn.isReadOnly()) {
            conn.rollback();
        }
    }

    conn.clearWarnings();

    // DBCP-97 / DBCP-399 / DBCP-351 Idle connections in the pool should
    // have autoCommit enabled
    if (enableAutoCommitOnReturn) {
        if (connAutoCommit == null) {
            connAutoCommit = Boolean.valueOf(conn.getAutoCommit());
        }
        if (!connAutoCommit.booleanValue()) {
            conn.setAutoCommit(true);
        }
    }

    conn.passivate();
}