Author: kfujino Date: Mon Mar 12 06:47:38 2018 New Revision: 1826508 URL: http://svn.apache.org/viewvc?rev=1826508&view=rev Log: Ensure that SQLWarning has been cleared when connection returns to the pool. Enable clearing of SQLWarning via JMX.
Modified: tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnectionMBean.java tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java?rev=1826508&r1=1826507&r2=1826508&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java (original) +++ tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java Mon Mar 12 06:47:38 2018 @@ -931,6 +931,7 @@ public class ConnectionPool { if (busy.remove(con)) { if (!shouldClose(con,PooledConnection.VALIDATE_RETURN)) { + con.clearWarnings(); con.setStackTrace(null); con.setTimestamp(System.currentTimeMillis()); if (((idle.size()>=poolProperties.getMaxIdle()) && !poolProperties.isPoolSweeperEnabled()) || (!idle.offer(con))) { Modified: tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java?rev=1826508&r1=1826507&r2=1826508&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java (original) +++ tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java Mon Mar 12 06:47:38 2018 @@ -808,6 +808,15 @@ public class PooledConnection implements } @Override + public void clearWarnings() { + try { + connection.clearWarnings(); + } catch (SQLException e) { + log.warn("Unable to clear Warnings, connection will be closed.", e); + } + } + + @Override public boolean isClosed() throws SQLException { return connection.isClosed(); } Modified: tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnectionMBean.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnectionMBean.java?rev=1826508&r1=1826507&r2=1826508&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnectionMBean.java (original) +++ tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnectionMBean.java Mon Mar 12 06:47:38 2018 @@ -31,6 +31,7 @@ public interface PooledConnectionMBean { public boolean isReleased(); // java.sql.Connection + public void clearWarnings(); public boolean isClosed() throws SQLException; public boolean getAutoCommit() throws SQLException; public String getCatalog() throws SQLException; Modified: tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml?rev=1826508&r1=1826507&r2=1826508&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml Mon Mar 12 06:47:38 2018 @@ -75,6 +75,17 @@ </fix> </changelog> </subsection> + <subsection name="jdbc-pool"> + <changelog> + <fix> + Ensure that <code>SQLWarning</code> has been cleared when connection + returns to the pool. (kfujino) + </fix> + <add> + Enable clearing of <code>SQLWarning</code> via JMX. (kfujino) + </add> + </changelog> + </subsection> <subsection name="Other"> <changelog> <fix> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org