Author: kfujino
Date: Tue Aug 25 06:39:51 2015
New Revision: 1697573
URL: http://svn.apache.org/r1697573
Log:
Make sure the pool has been properly configured when attributes that related to
the pool size are changed 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=1697573&r1=1697572&r2=1697573&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
Tue Aug 25 06:39:51 2015
@@ -418,26 +418,7 @@ public class ConnectionPool {
poolProperties = properties;
//make sure the pool is properly configured
- if (properties.getMaxActive()<1) {
- log.warn("maxActive is smaller than 1, setting maxActive to:
"+PoolProperties.DEFAULT_MAX_ACTIVE);
- properties.setMaxActive(PoolProperties.DEFAULT_MAX_ACTIVE);
- }
- if (properties.getMaxActive()<properties.getInitialSize()) {
- log.warn("initialSize is larger than maxActive, setting
initialSize to: "+properties.getMaxActive());
- properties.setInitialSize(properties.getMaxActive());
- }
- if (properties.getMinIdle()>properties.getMaxActive()) {
- log.warn("minIdle is larger than maxActive, setting minIdle to:
"+properties.getMaxActive());
- properties.setMinIdle(properties.getMaxActive());
- }
- if (properties.getMaxIdle()>properties.getMaxActive()) {
- log.warn("maxIdle is larger than maxActive, setting maxIdle to:
"+properties.getMaxActive());
- properties.setMaxIdle(properties.getMaxActive());
- }
- if (properties.getMaxIdle()<properties.getMinIdle()) {
- log.warn("maxIdle is smaller than minIdle, setting maxIdle to:
"+properties.getMinIdle());
- properties.setMaxIdle(properties.getMinIdle());
- }
+ checkPoolConfiguration(properties);
//make space for 10 extra in case we flow over a bit
busy = new LinkedBlockingQueue<PooledConnection>();
@@ -504,6 +485,29 @@ public class ConnectionPool {
closed = false;
}
+ public void checkPoolConfiguration(PoolConfiguration properties) {
+ //make sure the pool is properly configured
+ if (properties.getMaxActive()<1) {
+ log.warn("maxActive is smaller than 1, setting maxActive to:
"+PoolProperties.DEFAULT_MAX_ACTIVE);
+ properties.setMaxActive(PoolProperties.DEFAULT_MAX_ACTIVE);
+ }
+ if (properties.getMaxActive()<properties.getInitialSize()) {
+ log.warn("initialSize is larger than maxActive, setting
initialSize to: "+properties.getMaxActive());
+ properties.setInitialSize(properties.getMaxActive());
+ }
+ if (properties.getMinIdle()>properties.getMaxActive()) {
+ log.warn("minIdle is larger than maxActive, setting minIdle to:
"+properties.getMaxActive());
+ properties.setMinIdle(properties.getMaxActive());
+ }
+ if (properties.getMaxIdle()>properties.getMaxActive()) {
+ log.warn("maxIdle is larger than maxActive, setting maxIdle to:
"+properties.getMaxActive());
+ properties.setMaxIdle(properties.getMaxActive());
+ }
+ if (properties.getMaxIdle()<properties.getMinIdle()) {
+ log.warn("maxIdle is smaller than minIdle, setting maxIdle to:
"+properties.getMinIdle());
+ properties.setMaxIdle(properties.getMinIdle());
+ }
+ }
public void initializePoolCleaner(PoolConfiguration properties) {
//if the evictor thread is supposed to run, start it now
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=1697573&r1=1697572&r2=1697573&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
Tue Aug 25 06:39:51 2015
@@ -532,12 +532,16 @@ public class ConnectionPool extends Noti
@Override
public void setMaxActive(int maxActive) {
getPoolProperties().setMaxActive(maxActive);
+ //make sure the pool is properly configured
+ pool.checkPoolConfiguration(getPoolProperties());
}
@Override
public void setMaxIdle(int maxIdle) {
getPoolProperties().setMaxIdle(maxIdle);
+ //make sure the pool is properly configured
+ pool.checkPoolConfiguration(getPoolProperties());
}
@@ -562,6 +566,8 @@ public class ConnectionPool extends Noti
@Override
public void setMinIdle(int minIdle) {
getPoolProperties().setMinIdle(minIdle);
+ //make sure the pool is properly configured
+ pool.checkPoolConfiguration(getPoolProperties());
}
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=1697573&r1=1697572&r2=1697573&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Tue Aug 25 06:39:51 2015
@@ -58,6 +58,14 @@
issues do not "pop up" wrt. others).
-->
<section name="Tomcat 7.0.65 (violetagg)">
+ <subsection name="jdbc-pool">
+ <changelog>
+ <fix>
+ Make sure the pool has been properly configured when attributes that
+ related to the pool size are changed via JMX. (kfujino)
+ </fix>
+ </changelog>
+ </subsection>
</section>
<section name="Tomcat 7.0.64 (violetagg)">
<subsection name="Catalina">
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]