Author: kfujino Date: Wed Jul 20 06:19:27 2016 New Revision: 1753453 URL: http://svn.apache.org/viewvc?rev=1753453&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/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java?rev=1753453&r1=1753452&r2=1753453&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java (original) +++ tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java Wed Jul 20 06:19:27 2016 @@ -1298,7 +1298,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) { @@ -1338,7 +1338,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<ConnectionPool>(pool); @@ -1356,9 +1355,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/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1753453&r1=1753452&r2=1753453&view=diff ============================================================================== --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed Jul 20 06:19:27 2016 @@ -164,6 +164,11 @@ Ensure that do not remove the abandoned connection that has been already released. (kfujino) </fix> + <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> <subsection name="Other"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org