Author: kfujino
Date: Wed Jul 22 06:08:01 2015
New Revision: 1692219
URL: http://svn.apache.org/r1692219
Log:
Add support for stopping the pool cleaner via JMX.
Modified:
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java
Modified:
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java?rev=1692219&r1=1692218&r2=1692219&view=diff
==============================================================================
---
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
(original)
+++
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
Wed Jul 22 06:08:01 2015
@@ -512,6 +512,13 @@ public class ConnectionPool {
} //end if
}
+ public void terminatePoolCleaner() {
+ if (poolCleaner!= null) {
+ poolCleaner.stopRunning();
+ poolCleaner = null;
+ }
+ }
+
//===============================================================================
// CONNECTION POOLING IMPL LOGIC
Modified:
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java?rev=1692219&r1=1692218&r2=1692219&view=diff
==============================================================================
---
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java
(original)
+++
tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java
Wed Jul 22 06:08:01 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();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]