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

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

Introduction

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

Prototype

void setAutoCommit(boolean autoCommit) throws SQLException;

Source Link

Usage

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

/**
 * Connection// w ww.  ja v a  2 s . c om
 */
@Override
public void activateObject(PooledObject<PoolableConnection> p) throws Exception {

    validateLifetime(p);

    PoolableConnection conn = p.getObject();
    conn.activate();

    if (_defaultAutoCommit != null && conn.getAutoCommit() != _defaultAutoCommit.booleanValue()) {
        conn.setAutoCommit(_defaultAutoCommit.booleanValue());
    }
    if (_defaultTransactionIsolation != UNKNOWN_TRANSACTIONISOLATION
            && conn.getTransactionIsolation() != _defaultTransactionIsolation) {
        conn.setTransactionIsolation(_defaultTransactionIsolation);
    }
    if (_defaultReadOnly != null && conn.isReadOnly() != _defaultReadOnly.booleanValue()) {
        conn.setReadOnly(_defaultReadOnly.booleanValue());
    }
    if (_defaultCatalog != null && !_defaultCatalog.equals(conn.getCatalog())) {
        conn.setCatalog(_defaultCatalog);
    }
    conn.setDefaultQueryTimeout(defaultQueryTimeout);
}

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

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

    validateLifetime(p);/*  w ww  .ja va2s.  c  o m*/

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