Author: kfujino
Date: Wed Aug 23 08:10:13 2017
New Revision: 1805863
URL: http://svn.apache.org/viewvc?rev=1805863&view=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=61425
Ensure that transaction of idle connection has terminated when the
testWhileIdle is set to true and defaultAutoCommit is set to false.
Patch provided by WangZheng.
Modified:
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java
tomcat/trunk/webapps/docs/changelog.xml
Modified:
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java?rev=1805863&r1=1805862&r2=1805863&view=diff
==============================================================================
---
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java
(original)
+++
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java
Wed Aug 23 08:10:13 2017
@@ -541,6 +541,22 @@ public class PooledConnection {
}
if (stmt!=null)
try { stmt.close();} catch (Exception ignore2){/*NOOP*/}
+
+ try {
+ if(!connection.getAutoCommit()) {
+ connection.rollback();
+ }
+ } catch (SQLException e) {
+ // do nothing
+ }
+ } finally {
+ try {
+ if(!connection.getAutoCommit()) {
+ connection.commit();
+ }
+ } catch (SQLException e) {
+ // do nothing
+ }
}
return false;
} //validate
Modified: tomcat/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1805863&r1=1805862&r2=1805863&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Wed Aug 23 08:10:13 2017
@@ -156,6 +156,16 @@
</fix>
</changelog>
</subsection>
+ <subsection name="jdbc-pool">
+ <changelog>
+ <fix>
+ <bug>61425</bug>: Ensure that transaction of idle connection has
+ terminated when the <code>testWhileIdle</code> is set to
+ <code>true</code> and <code>defaultAutoCommit</code> is set to
+ <code>false</code>. Patch provided by WangZheng. (kfujino)
+ </fix>
+ </changelog>
+ </subsection>
<subsection name="Other">
<changelog>
<fix>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]