Author: kfujino Date: Wed Jul 20 06:17:35 2016 New Revision: 1753451 URL: http://svn.apache.org/viewvc?rev=1753451&view=rev Log: In order to avoid the unintended skip of PoolCleaner, remove the check code of the execution interval in the task that has been scheduled.
Modified: tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.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=1753451&r1=1753450&r2=1753451&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 Wed Jul 20 06:17:35 2016 @@ -1297,7 +1297,7 @@ public class ConnectionPool { Thread.currentThread().setContextClassLoader(loader); } } - poolCleanTimer.scheduleAtFixedRate(cleaner, cleaner.sleepTime,cleaner.sleepTime); + poolCleanTimer.schedule(cleaner, cleaner.sleepTime,cleaner.sleepTime); } private static synchronized void unregisterCleaner(PoolCleaner cleaner) { @@ -1337,7 +1337,6 @@ public class ConnectionPool { protected static class PoolCleaner extends TimerTask { protected WeakReference<ConnectionPool> pool; protected long sleepTime; - protected volatile long lastRun = 0; PoolCleaner(ConnectionPool pool, long sleepTime) { this.pool = new WeakReference<>(pool); @@ -1355,9 +1354,7 @@ public class ConnectionPool { ConnectionPool pool = this.pool.get(); if (pool == null) { stopRunning(); - } else if (!pool.isClosed() && - (System.currentTimeMillis() - lastRun) > sleepTime) { - lastRun = System.currentTimeMillis(); + } else if (!pool.isClosed()) { try { if (pool.getPoolProperties().isRemoveAbandoned()) pool.checkAbandoned(); 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=1753451&r1=1753450&r2=1753451&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml Wed Jul 20 06:17:35 2016 @@ -90,6 +90,15 @@ </fix> </changelog> </subsection> + <subsection name="jdbc-pool"> + <changelog> + <fix> + In order to avoid the unintended skip of <code>PoolCleaner</code>, + remove the check code of the execution interval in the task that has + been scheduled. (kfujino) + </fix> + </changelog> + </subsection> </section> <section name="Tomcat 8.5.4" rtext="2016-07-12"> <subsection name="Catalina"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org