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: [email protected]
For additional commands, e-mail: [email protected]