in src/main/java/org/apache/commons/dbcp2/PoolableConnectionFactory.java [538:565]
public void passivateObject(final PooledObject<PoolableConnection> p) throws SQLException {
validateLifetime(p);
final PoolableConnection conn = p.getObject();
Boolean connAutoCommit = null;
if (rollbackOnReturn) {
connAutoCommit = conn.getAutoCommit();
if (!connAutoCommit && !conn.isReadOnly()) {
conn.rollback();
}
}
conn.clearWarnings();
// DBCP-97 / DBCP-399 / DBCP-351 Idle connections in the pool should
// have autoCommit enabled
if (autoCommitOnReturn) {
if (connAutoCommit == null) {
connAutoCommit = conn.getAutoCommit();
}
if (!connAutoCommit) {
conn.setAutoCommit(true);
}
}
conn.passivate();
}