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

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

Introduction

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

Prototype

boolean isReadOnly() 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 w  w .  j  av a2 s. com

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

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

/**
 * Connection/* www  . ja  v  a2 s .  com*/
 */
@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);
}