Author: kfujino
Date: Wed Jul 20 06:26:53 2016
New Revision: 1753454

URL: http://svn.apache.org/viewvc?rev=1753454&view=rev
Log:
Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=59850
Ensure that the ResultSet is closed when enabling the StatementCache 
interceptor.

Modified:
    
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementCache.java
    tomcat/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementCache.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementCache.java?rev=1753454&r1=1753453&r2=1753454&view=diff
==============================================================================
--- 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementCache.java
 (original)
+++ 
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementCache.java
 Wed Jul 20 06:26:53 2016
@@ -18,6 +18,7 @@ package org.apache.tomcat.jdbc.pool.inte
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
+import java.sql.ResultSet;
 import java.sql.Statement;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
@@ -237,6 +238,11 @@ public class StatementCache extends Stat
                 //cache a proxy so that we don't reuse the facade
                 CachedStatement proxy = new 
CachedStatement(getDelegate(),getSql());
                 try {
+                    // clear Resultset
+                    ResultSet result = getDelegate().getResultSet();
+                    if (result != null && !result.isClosed()) {
+                        result.close();
+                    }
                     //create a new facade
                     Object actualProxy = getConstructor().newInstance(new 
Object[] { proxy });
                     proxy.setActualProxy(actualProxy);

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1753454&r1=1753453&r2=1753454&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Wed Jul 20 06:26:53 2016
@@ -97,6 +97,10 @@
         remove the check code of the execution interval in the task that has
         been scheduled. (kfujino)
       </fix>
+      <fix>
+        <bug>59850</bug>: Ensure that the <code>ResultSet</code> is closed when
+        enabling the <code>StatementCache</code> interceptor. (kfujino)
+      </fix>
     </changelog>
   </subsection>
 </section>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to