Author: markt Date: Wed Jan 20 14:55:42 2016 New Revision: 1725733 URL: http://svn.apache.org/viewvc?rev=1725733&view=rev Log: Update Tomcat's internal fork of Pool2 to pool2/trunk
Added: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObject.java - copied, changed from r1725731, commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BaseObject.java Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/ (props changed) tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseKeyedPooledObjectFactory.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObjectPool.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BasePooledObjectFactory.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/PoolUtils.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/UsageTracking.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/AbandonedConfig.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObjectInfo.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionConfig.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPoolConfig.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPoolConfig.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/PoolImplUtils.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/SoftReferenceObjectPool.java Propchange: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Jan 20 14:55:42 2016 @@ -1 +1 @@ -/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2:1593516-1693755 +/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2:1593516-1725731 Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseKeyedPooledObjectFactory.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseKeyedPooledObjectFactory.java?rev=1725733&r1=1725732&r2=1725733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseKeyedPooledObjectFactory.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseKeyedPooledObjectFactory.java Wed Jan 20 14:55:42 2016 @@ -30,7 +30,7 @@ package org.apache.tomcat.dbcp.pool2; * * @since 2.0 */ -public abstract class BaseKeyedPooledObjectFactory<K,V> +public abstract class BaseKeyedPooledObjectFactory<K,V> extends BaseObject implements KeyedPooledObjectFactory<K,V> { /** Copied: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObject.java (from r1725731, commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BaseObject.java) URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObject.java?p2=tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObject.java&p1=commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BaseObject.java&r1=1725731&r2=1725733&rev=1725733&view=diff ============================================================================== --- commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BaseObject.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObject.java Wed Jan 20 14:55:42 2016 @@ -14,11 +14,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.commons.pool2; +package org.apache.tomcat.dbcp.pool2; /** * A base class for common functionality. - * + * * @since 2.4.3 */ public abstract class BaseObject { @@ -33,7 +33,7 @@ public abstract class BaseObject { return builder.toString(); } - protected void toStringAppendFields(StringBuilder builder) { + protected void toStringAppendFields(@SuppressWarnings("unused") StringBuilder builder) { // do nothing by default, needed for b/w compatibility. } Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObjectPool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObjectPool.java?rev=1725733&r1=1725732&r2=1725733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObjectPool.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObjectPool.java Wed Jan 20 14:55:42 2016 @@ -27,7 +27,7 @@ package org.apache.tomcat.dbcp.pool2; * * @since 2.0 */ -public abstract class BaseObjectPool<T> implements ObjectPool<T> { +public abstract class BaseObjectPool<T> extends BaseObject implements ObjectPool<T> { @Override public abstract T borrowObject() throws Exception; @@ -116,4 +116,10 @@ public abstract class BaseObjectPool<T> } private volatile boolean closed = false; + + @Override + protected void toStringAppendFields(StringBuilder builder) { + builder.append("closed="); + builder.append(closed); + } } Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BasePooledObjectFactory.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BasePooledObjectFactory.java?rev=1725733&r1=1725732&r2=1725733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BasePooledObjectFactory.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BasePooledObjectFactory.java Wed Jan 20 14:55:42 2016 @@ -30,7 +30,7 @@ package org.apache.tomcat.dbcp.pool2; * * @since 2.0 */ -public abstract class BasePooledObjectFactory<T> implements PooledObjectFactory<T> { +public abstract class BasePooledObjectFactory<T> extends BaseObject implements PooledObjectFactory<T> { /** * Creates an object instance, to be wrapped in a {@link PooledObject}. * <p>This method <strong>must</strong> support concurrent, multi-threaded Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/PoolUtils.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/PoolUtils.java?rev=1725733&r1=1725732&r2=1725733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/PoolUtils.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/PoolUtils.java Wed Jan 20 14:55:42 2016 @@ -563,7 +563,7 @@ public final class PoolUtils { * instances reaches the configured minIdle. Note that this is not the same * as the pool's minIdle setting. */ - private static class ObjectPoolMinIdleTimerTask<T> extends TimerTask { + private static final class ObjectPoolMinIdleTimerTask<T> extends TimerTask { /** Minimum number of idle instances. Not the same as pool.getMinIdle(). */ private final int minIdle; @@ -632,7 +632,7 @@ public final class PoolUtils { * instances for the given key reaches the configured minIdle. Note that * this is not the same as the pool's minIdle setting. */ - private static class KeyedObjectPoolMinIdleTimerTask<K, V> extends + private static final class KeyedObjectPoolMinIdleTimerTask<K, V> extends TimerTask { /** Minimum number of idle instances. Not the same as pool.getMinIdle(). */ private final int minIdle; @@ -716,7 +716,7 @@ public final class PoolUtils { * deadlock. * </p> */ - private static class SynchronizedObjectPool<T> implements ObjectPool<T> { + private static final class SynchronizedObjectPool<T> implements ObjectPool<T> { /** * Object whose monitor is used to synchronize methods on the wrapped @@ -889,7 +889,7 @@ public final class PoolUtils { * deadlock. * </p> */ - private static class SynchronizedKeyedObjectPool<K, V> implements + private static final class SynchronizedKeyedObjectPool<K, V> implements KeyedObjectPool<K, V> { /** @@ -1104,7 +1104,7 @@ public final class PoolUtils { * Pool library. * </p> */ - private static class SynchronizedPooledObjectFactory<T> implements + private static final class SynchronizedPooledObjectFactory<T> implements PooledObjectFactory<T> { /** Synchronization lock */ private final WriteLock writeLock = new ReentrantReadWriteLock().writeLock(); @@ -1217,7 +1217,7 @@ public final class PoolUtils { * Pool library. * </p> */ - private static class SynchronizedKeyedPooledObjectFactory<K, V> + private static final class SynchronizedKeyedPooledObjectFactory<K, V> implements KeyedPooledObjectFactory<K, V> { /** Synchronization lock */ private final WriteLock writeLock = new ReentrantReadWriteLock().writeLock(); @@ -1332,7 +1332,7 @@ public final class PoolUtils { * to previously established high water mark), erosion occurs more * frequently. */ - private static class ErodingFactor { + private static final class ErodingFactor { /** Determines frequency of "erosion" events */ private final float factor; @@ -1751,7 +1751,7 @@ public final class PoolUtils { * per-key basis. Timing of erosion events is tracked separately for * separate keyed pools. */ - private static class ErodingPerKeyKeyedObjectPool<K, V> extends + private static final class ErodingPerKeyKeyedObjectPool<K, V> extends ErodingKeyedObjectPool<K, V> { /** Erosion factor - same for all pools */ private final float factor; Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/UsageTracking.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/UsageTracking.java?rev=1725733&r1=1725732&r2=1725733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/UsageTracking.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/UsageTracking.java Wed Jan 20 14:55:42 2016 @@ -30,7 +30,7 @@ package org.apache.tomcat.dbcp.pool2; public interface UsageTracking<T> { /** - * This method is called every time a pooled object to enable the pool to + * This method is called every time a pooled object is used to enable the pool to * better track borrowed objects. * * @param pooledObject The object that is being used Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/AbandonedConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/AbandonedConfig.java?rev=1725733&r1=1725732&r2=1725733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/AbandonedConfig.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/AbandonedConfig.java Wed Jan 20 14:55:42 2016 @@ -229,4 +229,26 @@ public class AbandonedConfig { public void setUseUsageTracking(boolean useUsageTracking) { this.useUsageTracking = useUsageTracking; } + + /** + * @since 2.4.3 + */ + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("AbandonedConfig [removeAbandonedOnBorrow="); + builder.append(removeAbandonedOnBorrow); + builder.append(", removeAbandonedOnMaintenance="); + builder.append(removeAbandonedOnMaintenance); + builder.append(", removeAbandonedTimeout="); + builder.append(removeAbandonedTimeout); + builder.append(", logAbandoned="); + builder.append(logAbandoned); + builder.append(", logWriter="); + builder.append(logWriter); + builder.append(", useUsageTracking="); + builder.append(useUsageTracking); + builder.append("]"); + return builder.toString(); + } } Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java?rev=1725733&r1=1725732&r2=1725733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java Wed Jan 20 14:55:42 2016 @@ -21,6 +21,7 @@ import java.io.StringWriter; import java.io.Writer; import java.lang.management.ManagementFactory; import java.lang.ref.WeakReference; +import java.util.Arrays; import java.util.Deque; import java.util.Iterator; import java.util.TimerTask; @@ -34,6 +35,7 @@ import javax.management.MalformedObjectN import javax.management.NotCompliantMBeanException; import javax.management.ObjectName; +import org.apache.tomcat.dbcp.pool2.BaseObject; import org.apache.tomcat.dbcp.pool2.PooledObject; import org.apache.tomcat.dbcp.pool2.SwallowedExceptionListener; @@ -48,7 +50,7 @@ import org.apache.tomcat.dbcp.pool2.Swal * * @since 2.0 */ -public abstract class BaseGenericObjectPool<T> { +public abstract class BaseGenericObjectPool<T> extends BaseObject { // Constants /** @@ -1107,6 +1109,19 @@ public abstract class BaseGenericObjectP } return (long) result; } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("StatsStore [values="); + builder.append(Arrays.toString(values)); + builder.append(", size="); + builder.append(size); + builder.append(", index="); + builder.append(index); + builder.append("]"); + return builder.toString(); + } } /** @@ -1198,6 +1213,85 @@ public abstract class BaseGenericObjectP public T getObject() { return instance; } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("IdentityWrapper [instance="); + builder.append(instance); + builder.append("]"); + return builder.toString(); + } + } + + @Override + protected void toStringAppendFields(StringBuilder builder) { + builder.append("maxTotal="); + builder.append(maxTotal); + builder.append(", blockWhenExhausted="); + builder.append(blockWhenExhausted); + builder.append(", maxWaitMillis="); + builder.append(maxWaitMillis); + builder.append(", lifo="); + builder.append(lifo); + builder.append(", fairness="); + builder.append(fairness); + builder.append(", testOnCreate="); + builder.append(testOnCreate); + builder.append(", testOnBorrow="); + builder.append(testOnBorrow); + builder.append(", testOnReturn="); + builder.append(testOnReturn); + builder.append(", testWhileIdle="); + builder.append(testWhileIdle); + builder.append(", timeBetweenEvictionRunsMillis="); + builder.append(timeBetweenEvictionRunsMillis); + builder.append(", numTestsPerEvictionRun="); + builder.append(numTestsPerEvictionRun); + builder.append(", minEvictableIdleTimeMillis="); + builder.append(minEvictableIdleTimeMillis); + builder.append(", softMinEvictableIdleTimeMillis="); + builder.append(softMinEvictableIdleTimeMillis); + builder.append(", evictionPolicy="); + builder.append(evictionPolicy); + builder.append(", closeLock="); + builder.append(closeLock); + builder.append(", closed="); + builder.append(closed); + builder.append(", evictionLock="); + builder.append(evictionLock); + builder.append(", evictor="); + builder.append(evictor); + builder.append(", evictionIterator="); + builder.append(evictionIterator); + builder.append(", factoryClassLoader="); + builder.append(factoryClassLoader); + builder.append(", oname="); + builder.append(oname); + builder.append(", creationStackTrace="); + builder.append(creationStackTrace); + builder.append(", borrowedCount="); + builder.append(borrowedCount); + builder.append(", returnedCount="); + builder.append(returnedCount); + builder.append(", createdCount="); + builder.append(createdCount); + builder.append(", destroyedCount="); + builder.append(destroyedCount); + builder.append(", destroyedByEvictorCount="); + builder.append(destroyedByEvictorCount); + builder.append(", destroyedByBorrowValidationCount="); + builder.append(destroyedByBorrowValidationCount); + builder.append(", activeTimes="); + builder.append(activeTimes); + builder.append(", idleTimes="); + builder.append(idleTimes); + builder.append(", waitTimes="); + builder.append(waitTimes); + builder.append(", maxBorrowWaitTimeMillis="); + builder.append(maxBorrowWaitTimeMillis); + builder.append(", swallowedExceptionListener="); + builder.append(swallowedExceptionListener); } } Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java?rev=1725733&r1=1725732&r2=1725733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java Wed Jan 20 14:55:42 2016 @@ -16,6 +16,8 @@ */ package org.apache.tomcat.dbcp.pool2.impl; +import org.apache.tomcat.dbcp.pool2.BaseObject; + /** * Provides the implementation for the common attributes shared by the * sub-classes. New instances of this class will be created using the defaults @@ -25,7 +27,7 @@ package org.apache.tomcat.dbcp.pool2.imp * * @since 2.0 */ -public abstract class BaseObjectPoolConfig implements Cloneable { +public abstract class BaseObjectPoolConfig extends BaseObject implements Cloneable { /** * The default value for the {@code lifo} configuration attribute. @@ -635,4 +637,40 @@ public abstract class BaseObjectPoolConf public void setJmxNamePrefix(String jmxNamePrefix) { this.jmxNamePrefix = jmxNamePrefix; } + + @Override + protected void toStringAppendFields(StringBuilder builder) { + builder.append("lifo="); + builder.append(lifo); + builder.append(", fairness="); + builder.append(fairness); + builder.append(", maxWaitMillis="); + builder.append(maxWaitMillis); + builder.append(", minEvictableIdleTimeMillis="); + builder.append(minEvictableIdleTimeMillis); + builder.append(", softMinEvictableIdleTimeMillis="); + builder.append(softMinEvictableIdleTimeMillis); + builder.append(", numTestsPerEvictionRun="); + builder.append(numTestsPerEvictionRun); + builder.append(", evictionPolicyClassName="); + builder.append(evictionPolicyClassName); + builder.append(", testOnCreate="); + builder.append(testOnCreate); + builder.append(", testOnBorrow="); + builder.append(testOnBorrow); + builder.append(", testOnReturn="); + builder.append(testOnReturn); + builder.append(", testWhileIdle="); + builder.append(testWhileIdle); + builder.append(", timeBetweenEvictionRunsMillis="); + builder.append(timeBetweenEvictionRunsMillis); + builder.append(", blockWhenExhausted="); + builder.append(blockWhenExhausted); + builder.append(", jmxEnabled="); + builder.append(jmxEnabled); + builder.append(", jmxNamePrefix="); + builder.append(jmxNamePrefix); + builder.append(", jmxNameBase="); + builder.append(jmxNameBase); + } } Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java?rev=1725733&r1=1725732&r2=1725733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java Wed Jan 20 14:55:42 2016 @@ -76,9 +76,8 @@ public class DefaultPooledObject<T> impl if (rTime > bTime) { return rTime - bTime; - } else { - return System.currentTimeMillis() - bTime; } + return System.currentTimeMillis() - bTime; } @Override @@ -122,9 +121,8 @@ public class DefaultPooledObject<T> impl public long getLastUsedTime() { if (object instanceof TrackedUse) { return Math.max(((TrackedUse) object).getLastUsed(), lastUseTime); - } else { - return lastUseTime; } + return lastUseTime; } @Override Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObjectInfo.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObjectInfo.java?rev=1725733&r1=1725732&r2=1725733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObjectInfo.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObjectInfo.java Wed Jan 20 14:55:42 2016 @@ -96,8 +96,19 @@ public class DefaultPooledObjectInfo imp // TODO Simplify this once getBorrowedCount has been added to PooledObject if (pooledObject instanceof DefaultPooledObject) { return ((DefaultPooledObject<?>) pooledObject).getBorrowedCount(); - } else { - return -1; } + return -1; + } + + /** + * @since 2.4.3 + */ + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("DefaultPooledObjectInfo [pooledObject="); + builder.append(pooledObject); + builder.append("]"); + return builder.toString(); } } Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionConfig.java?rev=1725733&r1=1725732&r2=1725733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionConfig.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionConfig.java Wed Jan 20 14:55:42 2016 @@ -31,7 +31,6 @@ public class EvictionConfig { private final long idleSoftEvictTime; private final int minIdle; - /** * Create a new eviction configuration with the specified parameters. * Instances are immutable. @@ -96,4 +95,20 @@ public class EvictionConfig { public int getMinIdle() { return minIdle; } + + /** + * @since 2.4 + */ + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("EvictionConfig [idleEvictTime="); + builder.append(idleEvictTime); + builder.append(", idleSoftEvictTime="); + builder.append(idleSoftEvictTime); + builder.append(", minIdle="); + builder.append(minIdle); + builder.append("]"); + return builder.toString(); + } } Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java?rev=1725733&r1=1725732&r2=1725733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java Wed Jan 20 14:55:42 2016 @@ -109,14 +109,14 @@ class EvictionTimer { private static class PrivilegedSetTccl implements PrivilegedAction<Void> { /** ClassLoader */ - private final ClassLoader cl; + private final ClassLoader classLoader; /** * Create a new PrivilegedSetTccl using the given classloader - * @param cl ClassLoader to use + * @param classLoader ClassLoader to use */ PrivilegedSetTccl(ClassLoader cl) { - this.cl = cl; + this.classLoader = cl; } /** @@ -124,9 +124,18 @@ class EvictionTimer { */ @Override public Void run() { - Thread.currentThread().setContextClassLoader(cl); + Thread.currentThread().setContextClassLoader(classLoader); return null; } + + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("PrivilegedSetTccl [classLoader="); + builder.append(classLoader); + builder.append("]"); + return builder.toString(); + } } /** @@ -147,4 +156,14 @@ class EvictionTimer { return new Timer("commons-pool-EvictionTimer", true); } } + + /** + * @since 2.4.3 + */ + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("EvictionTimer []"); + return builder.toString(); + } } Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java?rev=1725733&r1=1725732&r2=1725733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java Wed Jan 20 14:55:42 2016 @@ -222,9 +222,8 @@ public class GenericKeyedObjectPool<K,T> int maxIdlePerKeySave = getMaxIdlePerKey(); if (this.minIdlePerKey > maxIdlePerKeySave) { return maxIdlePerKeySave; - } else { - return minIdlePerKey; } + return minIdlePerKey; } /** @@ -481,9 +480,8 @@ public class GenericKeyedObjectPool<K,T> if (state != PooledObjectState.ALLOCATED) { throw new IllegalStateException( "Object has already been returned to this pool or is invalid"); - } else { - p.markReturning(); // Keep from being marked abandoned (once GKOP does this) } + p.markReturning(); // Keep from being marked abandoned (once GKOP does this) } long activeTime = p.getActiveTimeMillis(); @@ -686,9 +684,8 @@ public class GenericKeyedObjectPool<K,T> if (objectDeque != null) { return objectDeque.getAllObjects().size() - objectDeque.getIdleObjects().size(); - } else { - return 0; } + return 0; } @@ -1015,9 +1012,8 @@ public class GenericKeyedObjectPool<K,T> numTotal.decrementAndGet(); if (getNumIdle() == 0) { return null; - } else { - clearOldest(); } + clearOldest(); } else { loop = false; } @@ -1079,9 +1075,8 @@ public class GenericKeyedObjectPool<K,T> numTotal.decrementAndGet(); } return true; - } else { - return false; } + return false; } finally { deregister(key); } @@ -1496,6 +1491,21 @@ public class GenericKeyedObjectPool<K,T> return allObjects; } + @Override + public String toString() { + StringBuilder builder = new StringBuilder(); + builder.append("ObjectDeque [idleObjects="); + builder.append(idleObjects); + builder.append(", createCount="); + builder.append(createCount); + builder.append(", allObjects="); + builder.append(allObjects); + builder.append(", numInterested="); + builder.append(numInterested); + builder.append("]"); + return builder.toString(); + } + } //--- configuration attributes --------------------------------------------- @@ -1539,4 +1549,31 @@ public class GenericKeyedObjectPool<K,T> // JMX specific attributes private static final String ONAME_BASE = "org.apache.tomcat.dbcp.pool2:type=GenericKeyedObjectPool,name="; + + @Override + protected void toStringAppendFields(StringBuilder builder) { + super.toStringAppendFields(builder); + builder.append(", maxIdlePerKey="); + builder.append(maxIdlePerKey); + builder.append(", minIdlePerKey="); + builder.append(minIdlePerKey); + builder.append(", maxTotalPerKey="); + builder.append(maxTotalPerKey); + builder.append(", factory="); + builder.append(factory); + builder.append(", fairness="); + builder.append(fairness); + builder.append(", poolMap="); + builder.append(poolMap); + builder.append(", poolKeyList="); + builder.append(poolKeyList); + builder.append(", keyLock="); + builder.append(keyLock); + builder.append(", numTotal="); + builder.append(numTotal); + builder.append(", evictionKeyIterator="); + builder.append(evictionKeyIterator); + builder.append(", evictionKey="); + builder.append(evictionKey); + } } Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPoolConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPoolConfig.java?rev=1725733&r1=1725732&r2=1725733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPoolConfig.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPoolConfig.java Wed Jan 20 14:55:42 2016 @@ -179,4 +179,17 @@ public class GenericKeyedObjectPoolConfi throw new AssertionError(); // Can't happen } } + + @Override + protected void toStringAppendFields(StringBuilder builder) { + super.toStringAppendFields(builder); + builder.append(", minIdlePerKey="); + builder.append(minIdlePerKey); + builder.append(", maxIdlePerKey="); + builder.append(maxIdlePerKey); + builder.append(", maxTotalPerKey="); + builder.append(maxTotalPerKey); + builder.append(", maxTotal="); + builder.append(maxTotal); + } } Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java?rev=1725733&r1=1725732&r2=1725733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java Wed Jan 20 14:55:42 2016 @@ -216,9 +216,8 @@ public class GenericObjectPool<T> extend int maxIdleSave = getMaxIdle(); if (this.minIdle > maxIdleSave) { return maxIdleSave; - } else { - return minIdle; } + return minIdle; } /** @@ -538,9 +537,8 @@ public class GenericObjectPool<T> extend if (!isAbandonedConfig()) { throw new IllegalStateException( "Returned object not currently part of this pool"); - } else { - return; // Object was abandoned and removed } + return; // Object was abandoned and removed } synchronized(p) { @@ -548,9 +546,8 @@ public class GenericObjectPool<T> extend if (state != PooledObjectState.ALLOCATED) { throw new IllegalStateException( "Object has already been returned to this pool or is invalid"); - } else { - p.markReturning(); // Keep from being marked abandoned } + p.markReturning(); // Keep from being marked abandoned } long activeTime = p.getActiveTimeMillis(); @@ -634,10 +631,9 @@ public class GenericObjectPool<T> extend if (p == null) { if (isAbandonedConfig()) { return; - } else { - throw new IllegalStateException( - "Invalidated object not currently part of this pool"); } + throw new IllegalStateException( + "Invalidated object not currently part of this pool"); } synchronized (p) { if (p.getState() != PooledObjectState.INVALID) { @@ -991,10 +987,9 @@ public class GenericObjectPool<T> extend int numTestsPerEvictionRun = getNumTestsPerEvictionRun(); if (numTestsPerEvictionRun >= 0) { return Math.min(numTestsPerEvictionRun, idleObjects.size()); - } else { - return (int) (Math.ceil(idleObjects.size() / - Math.abs((double) numTestsPerEvictionRun))); } + return (int) (Math.ceil(idleObjects.size() / + Math.abs((double) numTestsPerEvictionRun))); } /** @@ -1065,9 +1060,8 @@ public class GenericObjectPool<T> extend public int getNumWaiters() { if (getBlockWhenExhausted()) { return idleObjects.getTakeQueueLength(); - } else { - return 0; } + return 0; } /** @@ -1147,4 +1141,25 @@ public class GenericObjectPool<T> extend // Additional configuration properties for abandoned object tracking private volatile AbandonedConfig abandonedConfig = null; + + @Override + protected void toStringAppendFields(StringBuilder builder) { + super.toStringAppendFields(builder); + builder.append(", factoryType="); + builder.append(factoryType); + builder.append(", maxIdle="); + builder.append(maxIdle); + builder.append(", minIdle="); + builder.append(minIdle); + builder.append(", factory="); + builder.append(factory); + builder.append(", allObjects="); + builder.append(allObjects); + builder.append(", createCount="); + builder.append(createCount); + builder.append(", idleObjects="); + builder.append(idleObjects); + builder.append(", abandonedConfig="); + builder.append(abandonedConfig); + } } Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPoolConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPoolConfig.java?rev=1725733&r1=1725732&r2=1725733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPoolConfig.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPoolConfig.java Wed Jan 20 14:55:42 2016 @@ -141,4 +141,15 @@ public class GenericObjectPoolConfig ext throw new AssertionError(); // Can't happen } } + + @Override + protected void toStringAppendFields(StringBuilder builder) { + super.toStringAppendFields(builder); + builder.append(", maxTotal="); + builder.append(maxTotal); + builder.append(", maxIdle="); + builder.append(maxIdle); + builder.append(", minIdle="); + builder.append(minIdle); + } } Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/PoolImplUtils.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/PoolImplUtils.java?rev=1725733&r1=1725732&r2=1725733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/PoolImplUtils.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/PoolImplUtils.java Wed Jan 20 14:55:42 2016 @@ -113,14 +113,13 @@ class PoolImplUtils { private static Object getTypeParameter(Class<?> clazz, Type argType) { if (argType instanceof Class<?>) { return argType; - } else { - TypeVariable<?>[] tvs = clazz.getTypeParameters(); - for (int i = 0; i < tvs.length; i++) { - if (tvs[i].equals(argType)) { - return Integer.valueOf(i); - } + } + TypeVariable<?>[] tvs = clazz.getTypeParameters(); + for (int i = 0; i < tvs.length; i++) { + if (tvs[i].equals(argType)) { + return Integer.valueOf(i); } - return null; } + return null; } } Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/SoftReferenceObjectPool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/SoftReferenceObjectPool.java?rev=1725733&r1=1725732&r2=1725733&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/SoftReferenceObjectPool.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/SoftReferenceObjectPool.java Wed Jan 20 14:55:42 2016 @@ -121,14 +121,13 @@ public class SoftReferenceObjectPool<T> if (idleReferences.isEmpty()) { if (null == factory) { throw new NoSuchElementException(); - } else { - newlyCreated = true; - obj = factory.makeObject().getObject(); - createCount++; - // Do not register with the queue - ref = new PooledSoftReference<>(new SoftReference<>(obj)); - allReferences.add(ref); } + newlyCreated = true; + obj = factory.makeObject().getObject(); + createCount++; + // Do not register with the queue + ref = new PooledSoftReference<>(new SoftReference<>(obj)); + allReferences.add(ref); } else { ref = idleReferences.pollFirst(); obj = ref.getObject(); @@ -429,4 +428,23 @@ public class SoftReferenceObjectPool<T> } } } + + @Override + protected void toStringAppendFields(StringBuilder builder) { + super.toStringAppendFields(builder); + builder.append(", factory="); + builder.append(factory); + builder.append(", refQueue="); + builder.append(refQueue); + builder.append(", numActive="); + builder.append(numActive); + builder.append(", destroyCount="); + builder.append(destroyCount); + builder.append(", createCount="); + builder.append(createCount); + builder.append(", idleReferences="); + builder.append(idleReferences); + builder.append(", allReferences="); + builder.append(allReferences); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org