Author: fhanik Date: Wed Nov 23 15:29:01 2011 New Revision: 1205441 URL: http://svn.apache.org/viewvc?rev=1205441&view=rev Log: Only apply the commitOnReturn and rollbackOnReturn if the default auto commit value is false. getAutoCommit is a call to the DB for many drivers and doesn't perform well
Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java?rev=1205441&r1=1205440&r2=1205441&view=diff ============================================================================== --- tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java (original) +++ tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java Wed Nov 23 15:29:01 2011 @@ -784,12 +784,14 @@ public class ConnectionPool { */ protected boolean terminateTransaction(PooledConnection con) { try { - boolean autocommit = con.getConnection().getAutoCommit(); - if (!autocommit) { - if (this.getPoolProperties().getRollbackOnReturn()) { - con.getConnection().rollback(); - } else if (this.getPoolProperties().getCommitOnReturn()) { - con.getConnection().commit(); + if (con.getPoolProperties().getDefaultAutoCommit()==Boolean.FALSE) { + boolean autocommit = con.getConnection().getAutoCommit(); + if (!autocommit) { + if (this.getPoolProperties().getRollbackOnReturn()) { + con.getConnection().rollback(); + } else if (this.getPoolProperties().getCommitOnReturn()) { + con.getConnection().commit(); + } } } return true; --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org