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: [email protected]
For additional commands, e-mail: [email protected]