Author: kfujino
Date: Wed Jul 22 06:11:46 2015
New Revision: 1692221
URL: http://svn.apache.org/r1692221
Log:
Add support for stopping the pool cleaner via JMX.
Modified:
tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/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=1692221&r1=1692220&r2=1692221&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 22 06:11:46 2015
@@ -514,6 +514,12 @@ public class ConnectionPool {
} //end if
}
+ public void terminatePoolCleaner() {
+ if (poolCleaner!= null) {
+ poolCleaner.stopRunning();
+ poolCleaner = null;
+ }
+ }
//===============================================================================
// CONNECTION POOLING IMPL LOGIC
Modified:
tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java?rev=1692221&r1=1692220&r2=1692221&view=diff
==============================================================================
---
tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java
(original)
+++
tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java
Wed Jul 22 06:11:46 2015
@@ -552,8 +552,9 @@ public class ConnectionPool extends Noti
boolean wasEnabled = getPoolProperties().isPoolSweeperEnabled();
getPoolProperties().setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
boolean shouldBeEnabled = getPoolProperties().isPoolSweeperEnabled();
- //make sure pool cleaner starts when it should
+ //make sure pool cleaner starts/stops when it should
if (!wasEnabled && shouldBeEnabled)
pool.initializePoolCleaner(getPoolProperties());
+ else if (wasEnabled && !shouldBeEnabled) pool.terminatePoolCleaner();
}
@@ -580,8 +581,9 @@ public class ConnectionPool extends Noti
boolean wasEnabled = getPoolProperties().isPoolSweeperEnabled();
getPoolProperties().setRemoveAbandoned(removeAbandoned);
boolean shouldBeEnabled = getPoolProperties().isPoolSweeperEnabled();
- //make sure pool cleaner starts when it should
+ //make sure pool cleaner starts/stops when it should
if (!wasEnabled && shouldBeEnabled)
pool.initializePoolCleaner(getPoolProperties());
+ else if (wasEnabled && !shouldBeEnabled) pool.terminatePoolCleaner();
}
@@ -590,8 +592,9 @@ public class ConnectionPool extends Noti
boolean wasEnabled = getPoolProperties().isPoolSweeperEnabled();
getPoolProperties().setRemoveAbandonedTimeout(removeAbandonedTimeout);
boolean shouldBeEnabled = getPoolProperties().isPoolSweeperEnabled();
- //make sure pool cleaner starts when it should
+ //make sure pool cleaner starts/stops when it should
if (!wasEnabled && shouldBeEnabled)
pool.initializePoolCleaner(getPoolProperties());
+ else if (wasEnabled && !shouldBeEnabled) pool.terminatePoolCleaner();
}
@@ -618,8 +621,9 @@ public class ConnectionPool extends Noti
boolean wasEnabled = getPoolProperties().isPoolSweeperEnabled();
getPoolProperties().setTestWhileIdle(testWhileIdle);
boolean shouldBeEnabled = getPoolProperties().isPoolSweeperEnabled();
- //make sure pool cleaner starts when it should
+ //make sure pool cleaner starts/stops when it should
if (!wasEnabled && shouldBeEnabled)
pool.initializePoolCleaner(getPoolProperties());
+ else if (wasEnabled && !shouldBeEnabled) pool.terminatePoolCleaner();
}
@@ -628,8 +632,9 @@ public class ConnectionPool extends Noti
boolean wasEnabled = getPoolProperties().isPoolSweeperEnabled();
getPoolProperties().setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
boolean shouldBeEnabled = getPoolProperties().isPoolSweeperEnabled();
- //make sure pool cleaner starts when it should
+ //make sure pool cleaner starts/stops when it should
if (!wasEnabled && shouldBeEnabled)
pool.initializePoolCleaner(getPoolProperties());
+ else if (wasEnabled && !shouldBeEnabled) pool.terminatePoolCleaner();
}
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=1692221&r1=1692220&r2=1692221&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed Jul 22 06:11:46 2015
@@ -123,6 +123,9 @@
<fix>
Fix potential NPE in <code>QueryTimeoutInterceptor</code>. (kfujino)
</fix>
+ <fix>
+ Add support for stopping the pool cleaner via JMX. (kfujino)
+ </fix>
</changelog>
</subsection>
<subsection name="Other">
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]