Author: kfujino
Date: Wed Jul 22 06:10:21 2015
New Revision: 1692220
URL: http://svn.apache.org/r1692220
Log:
Add support for stopping the pool cleaner via JMX.
Modified:
tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java
tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml
Modified:
tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
URL:
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java?rev=1692220&r1=1692219&r2=1692220&view=diff
==============================================================================
---
tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
(original)
+++
tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
Wed Jul 22 06:10:21 2015
@@ -512,6 +512,12 @@ public class ConnectionPool {
} //end if
}
+ public void terminatePoolCleaner() {
+ if (poolCleaner!= null) {
+ poolCleaner.stopRunning();
+ poolCleaner = null;
+ }
+ }
//===============================================================================
// CONNECTION POOLING IMPL LOGIC
Modified:
tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java
URL:
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java?rev=1692220&r1=1692219&r2=1692220&view=diff
==============================================================================
---
tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java
(original)
+++
tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java
Wed Jul 22 06:10:21 2015
@@ -551,8 +551,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();
}
@@ -579,8 +580,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();
}
@@ -589,8 +591,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();
}
@@ -617,8 +620,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();
}
@@ -627,8 +631,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/tc8.0.x/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml?rev=1692220&r1=1692219&r2=1692220&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Wed Jul 22 06:10:21 2015
@@ -124,6 +124,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]