You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2016/05/13 20:02:33 UTC
svn commit: r1743737 [1/3] - in /tomcat/tc8.0.x/trunk:
java/org/apache/tomcat/dbcp/pool2/ java/org/apache/tomcat/dbcp/pool2/impl/
webapps/docs/
Author: markt
Date: Fri May 13 20:02:33 2016
New Revision: 1743737
URL: http://svn.apache.org/viewvc?rev=1743737&view=rev
Log:
Update internal fork of Commons Pool 2
Added:
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObject.java
- copied, changed from r1743734, commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BaseObject.java
Modified:
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/ (props changed)
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BaseKeyedPooledObjectFactory.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObjectPool.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BasePooledObjectFactory.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/PoolUtils.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/UsageTracking.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/AbandonedConfig.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultEvictionPolicy.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObjectInfo.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionConfig.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPool.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericKeyedObjectPoolConfig.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPool.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/GenericObjectPoolConfig.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/InterruptibleReentrantLock.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/PoolImplUtils.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/PooledSoftReference.java
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/SoftReferenceObjectPool.java
tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml
Propchange: tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri May 13 20:02:33 2016
@@ -1,2 +1,2 @@
-/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2:1593516-1693755
-/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2:1643814,1648907,1682320,1694660
+/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2:1593516-1743734
+/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2:1643814-1743698
Modified: tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BaseKeyedPooledObjectFactory.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BaseKeyedPooledObjectFactory.java?rev=1743737&r1=1743736&r2=1743737&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BaseKeyedPooledObjectFactory.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BaseKeyedPooledObjectFactory.java Fri May 13 20:02:33 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> {
/**
@@ -56,7 +56,7 @@ public abstract class BaseKeyedPooledObj
public abstract PooledObject<V> wrap(V value);
@Override
- public PooledObject<V> makeObject(K key) throws Exception {
+ public PooledObject<V> makeObject(final K key) throws Exception {
return wrap(create(key));
}
@@ -69,7 +69,7 @@ public abstract class BaseKeyedPooledObj
* @param p a {@code PooledObject} wrapping the the instance to be destroyed
*/
@Override
- public void destroyObject(K key, PooledObject<V> p)
+ public void destroyObject(final K key, final PooledObject<V> p)
throws Exception {
}
@@ -83,7 +83,7 @@ public abstract class BaseKeyedPooledObj
* @return always <code>true</code> in the default implementation
*/
@Override
- public boolean validateObject(K key, PooledObject<V> p) {
+ public boolean validateObject(final K key, final PooledObject<V> p) {
return true;
}
@@ -96,7 +96,7 @@ public abstract class BaseKeyedPooledObj
* @param p a {@code PooledObject} wrapping the the instance to be activated
*/
@Override
- public void activateObject(K key, PooledObject<V> p)
+ public void activateObject(final K key, final PooledObject<V> p)
throws Exception {
}
@@ -109,7 +109,7 @@ public abstract class BaseKeyedPooledObj
* @param p a {@code PooledObject} wrapping the the instance to be passivated
*/
@Override
- public void passivateObject(K key, PooledObject<V> p)
+ public void passivateObject(final K key, final PooledObject<V> p)
throws Exception {
}
}
Copied: tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObject.java (from r1743734, commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BaseObject.java)
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObject.java?p2=tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObject.java&p1=commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BaseObject.java&r1=1743734&r2=1743737&rev=1743737&view=diff
==============================================================================
--- commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/BaseObject.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObject.java Fri May 13 20:02:33 2016
@@ -14,7 +14,7 @@
* 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.
Modified: tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObjectPool.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObjectPool.java?rev=1743737&r1=1743736&r2=1743737&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObjectPool.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BaseObjectPool.java Fri May 13 20:02:33 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(final StringBuilder builder) {
+ builder.append("closed=");
+ builder.append(closed);
+ }
}
Modified: tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BasePooledObjectFactory.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BasePooledObjectFactory.java?rev=1743737&r1=1743736&r2=1743737&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BasePooledObjectFactory.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/BasePooledObjectFactory.java Fri May 13 20:02:33 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
@@ -64,7 +64,7 @@ public abstract class BasePooledObjectFa
* @param p ignored
*/
@Override
- public void destroyObject(PooledObject<T> p)
+ public void destroyObject(final PooledObject<T> p)
throws Exception {
}
@@ -76,7 +76,7 @@ public abstract class BasePooledObjectFa
* @return {@code true}
*/
@Override
- public boolean validateObject(PooledObject<T> p) {
+ public boolean validateObject(final PooledObject<T> p) {
return true;
}
@@ -86,7 +86,7 @@ public abstract class BasePooledObjectFa
* @param p ignored
*/
@Override
- public void activateObject(PooledObject<T> p) throws Exception {
+ public void activateObject(final PooledObject<T> p) throws Exception {
}
/**
@@ -95,7 +95,7 @@ public abstract class BasePooledObjectFa
* @param p ignored
*/
@Override
- public void passivateObject(PooledObject<T> p)
+ public void passivateObject(final PooledObject<T> p)
throws Exception {
}
}
Modified: tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/PoolUtils.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/PoolUtils.java?rev=1743737&r1=1743736&r2=1743737&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/PoolUtils.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/PoolUtils.java Fri May 13 20:02:33 2016
@@ -66,7 +66,7 @@ public final class PoolUtils {
* @throws VirtualMachineError
* if that is passed in
*/
- public static void checkRethrow(Throwable t) {
+ public static void checkRethrow(final Throwable t) {
if (t instanceof ThreadDeath) {
throw (ThreadDeath) t;
}
@@ -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;
@@ -603,7 +603,7 @@ public final class PoolUtils {
}
success = true;
- } catch (Exception e) {
+ } catch (final Exception e) {
cancel();
} finally {
// detect other types of Throwable and cancel this Timer
@@ -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;
@@ -678,7 +678,7 @@ public final class PoolUtils {
}
success = true;
- } catch (Exception e) {
+ } catch (final Exception e) {
cancel();
} finally {
@@ -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
@@ -750,7 +750,7 @@ public final class PoolUtils {
@Override
public T borrowObject() throws Exception, NoSuchElementException,
IllegalStateException {
- WriteLock writeLock = readWriteLock.writeLock();
+ final WriteLock writeLock = readWriteLock.writeLock();
writeLock.lock();
try {
return pool.borrowObject();
@@ -764,11 +764,11 @@ public final class PoolUtils {
*/
@Override
public void returnObject(final T obj) {
- WriteLock writeLock = readWriteLock.writeLock();
+ final WriteLock writeLock = readWriteLock.writeLock();
writeLock.lock();
try {
pool.returnObject(obj);
- } catch (Exception e) {
+ } catch (final Exception e) {
// swallowed as of Pool 2
} finally {
writeLock.unlock();
@@ -780,11 +780,11 @@ public final class PoolUtils {
*/
@Override
public void invalidateObject(final T obj) {
- WriteLock writeLock = readWriteLock.writeLock();
+ final WriteLock writeLock = readWriteLock.writeLock();
writeLock.lock();
try {
pool.invalidateObject(obj);
- } catch (Exception e) {
+ } catch (final Exception e) {
// swallowed as of Pool 2
} finally {
writeLock.unlock();
@@ -797,7 +797,7 @@ public final class PoolUtils {
@Override
public void addObject() throws Exception, IllegalStateException,
UnsupportedOperationException {
- WriteLock writeLock = readWriteLock.writeLock();
+ final WriteLock writeLock = readWriteLock.writeLock();
writeLock.lock();
try {
pool.addObject();
@@ -811,7 +811,7 @@ public final class PoolUtils {
*/
@Override
public int getNumIdle() {
- ReadLock readLock = readWriteLock.readLock();
+ final ReadLock readLock = readWriteLock.readLock();
readLock.lock();
try {
return pool.getNumIdle();
@@ -825,7 +825,7 @@ public final class PoolUtils {
*/
@Override
public int getNumActive() {
- ReadLock readLock = readWriteLock.readLock();
+ final ReadLock readLock = readWriteLock.readLock();
readLock.lock();
try {
return pool.getNumActive();
@@ -839,7 +839,7 @@ public final class PoolUtils {
*/
@Override
public void clear() throws Exception, UnsupportedOperationException {
- WriteLock writeLock = readWriteLock.writeLock();
+ final WriteLock writeLock = readWriteLock.writeLock();
writeLock.lock();
try {
pool.clear();
@@ -853,11 +853,11 @@ public final class PoolUtils {
*/
@Override
public void close() {
- WriteLock writeLock = readWriteLock.writeLock();
+ final WriteLock writeLock = readWriteLock.writeLock();
writeLock.lock();
try {
pool.close();
- } catch (Exception e) {
+ } catch (final Exception e) {
// swallowed as of Pool 2
} finally {
writeLock.unlock();
@@ -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> {
/**
@@ -924,7 +924,7 @@ public final class PoolUtils {
@Override
public V borrowObject(final K key) throws Exception,
NoSuchElementException, IllegalStateException {
- WriteLock writeLock = readWriteLock.writeLock();
+ final WriteLock writeLock = readWriteLock.writeLock();
writeLock.lock();
try {
return keyedPool.borrowObject(key);
@@ -938,11 +938,11 @@ public final class PoolUtils {
*/
@Override
public void returnObject(final K key, final V obj) {
- WriteLock writeLock = readWriteLock.writeLock();
+ final WriteLock writeLock = readWriteLock.writeLock();
writeLock.lock();
try {
keyedPool.returnObject(key, obj);
- } catch (Exception e) {
+ } catch (final Exception e) {
// swallowed
} finally {
writeLock.unlock();
@@ -954,11 +954,11 @@ public final class PoolUtils {
*/
@Override
public void invalidateObject(final K key, final V obj) {
- WriteLock writeLock = readWriteLock.writeLock();
+ final WriteLock writeLock = readWriteLock.writeLock();
writeLock.lock();
try {
keyedPool.invalidateObject(key, obj);
- } catch (Exception e) {
+ } catch (final Exception e) {
// swallowed as of Pool 2
} finally {
writeLock.unlock();
@@ -971,7 +971,7 @@ public final class PoolUtils {
@Override
public void addObject(final K key) throws Exception,
IllegalStateException, UnsupportedOperationException {
- WriteLock writeLock = readWriteLock.writeLock();
+ final WriteLock writeLock = readWriteLock.writeLock();
writeLock.lock();
try {
keyedPool.addObject(key);
@@ -985,7 +985,7 @@ public final class PoolUtils {
*/
@Override
public int getNumIdle(final K key) {
- ReadLock readLock = readWriteLock.readLock();
+ final ReadLock readLock = readWriteLock.readLock();
readLock.lock();
try {
return keyedPool.getNumIdle(key);
@@ -999,7 +999,7 @@ public final class PoolUtils {
*/
@Override
public int getNumActive(final K key) {
- ReadLock readLock = readWriteLock.readLock();
+ final ReadLock readLock = readWriteLock.readLock();
readLock.lock();
try {
return keyedPool.getNumActive(key);
@@ -1013,7 +1013,7 @@ public final class PoolUtils {
*/
@Override
public int getNumIdle() {
- ReadLock readLock = readWriteLock.readLock();
+ final ReadLock readLock = readWriteLock.readLock();
readLock.lock();
try {
return keyedPool.getNumIdle();
@@ -1027,7 +1027,7 @@ public final class PoolUtils {
*/
@Override
public int getNumActive() {
- ReadLock readLock = readWriteLock.readLock();
+ final ReadLock readLock = readWriteLock.readLock();
readLock.lock();
try {
return keyedPool.getNumActive();
@@ -1041,7 +1041,7 @@ public final class PoolUtils {
*/
@Override
public void clear() throws Exception, UnsupportedOperationException {
- WriteLock writeLock = readWriteLock.writeLock();
+ final WriteLock writeLock = readWriteLock.writeLock();
writeLock.lock();
try {
keyedPool.clear();
@@ -1056,7 +1056,7 @@ public final class PoolUtils {
@Override
public void clear(final K key) throws Exception,
UnsupportedOperationException {
- WriteLock writeLock = readWriteLock.writeLock();
+ final WriteLock writeLock = readWriteLock.writeLock();
writeLock.lock();
try {
keyedPool.clear(key);
@@ -1070,11 +1070,11 @@ public final class PoolUtils {
*/
@Override
public void close() {
- WriteLock writeLock = readWriteLock.writeLock();
+ final WriteLock writeLock = readWriteLock.writeLock();
writeLock.lock();
try {
keyedPool.close();
- } catch (Exception e) {
+ } catch (final Exception e) {
// swallowed as of Pool 2
} finally {
writeLock.unlock();
@@ -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;
@@ -1464,7 +1464,7 @@ public final class PoolUtils {
} else {
pool.returnObject(obj);
}
- } catch (Exception e) {
+ } catch (final Exception e) {
// swallowed
}
}
@@ -1476,7 +1476,7 @@ public final class PoolUtils {
public void invalidateObject(final T obj) {
try {
pool.invalidateObject(obj);
- } catch (Exception e) {
+ } catch (final Exception e) {
// swallowed
}
}
@@ -1521,7 +1521,7 @@ public final class PoolUtils {
public void close() {
try {
pool.close();
- } catch (Exception e) {
+ } catch (final Exception e) {
// swallowed
}
}
@@ -1629,7 +1629,7 @@ public final class PoolUtils {
} else {
keyedPool.returnObject(key, obj);
}
- } catch (Exception e) {
+ } catch (final Exception e) {
// swallowed
}
}
@@ -1652,7 +1652,7 @@ public final class PoolUtils {
public void invalidateObject(final K key, final V obj) {
try {
keyedPool.invalidateObject(key, obj);
- } catch (Exception e) {
+ } catch (final Exception e) {
// swallowed
}
}
@@ -1722,7 +1722,7 @@ public final class PoolUtils {
public void close() {
try {
keyedPool.close();
- } catch (Exception e) {
+ } catch (final Exception e) {
// swallowed
}
}
@@ -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/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/UsageTracking.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/UsageTracking.java?rev=1743737&r1=1743736&r2=1743737&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/UsageTracking.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/UsageTracking.java Fri May 13 20:02:33 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/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/AbandonedConfig.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/AbandonedConfig.java?rev=1743737&r1=1743736&r2=1743737&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/AbandonedConfig.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/AbandonedConfig.java Fri May 13 20:02:33 2016
@@ -55,7 +55,7 @@ public class AbandonedConfig {
* removed by borrowObject
* @see #getRemoveAbandonedOnBorrow()
*/
- public void setRemoveAbandonedOnBorrow(boolean removeAbandonedOnBorrow) {
+ public void setRemoveAbandonedOnBorrow(final boolean removeAbandonedOnBorrow) {
this.removeAbandonedOnBorrow = removeAbandonedOnBorrow;
}
@@ -92,7 +92,7 @@ public class AbandonedConfig {
* removed by pool maintenance
* @see #getRemoveAbandonedOnMaintenance
*/
- public void setRemoveAbandonedOnMaintenance(boolean removeAbandonedOnMaintenance) {
+ public void setRemoveAbandonedOnMaintenance(final boolean removeAbandonedOnMaintenance) {
this.removeAbandonedOnMaintenance = removeAbandonedOnMaintenance;
}
@@ -129,7 +129,7 @@ public class AbandonedConfig {
* @param removeAbandonedTimeout new abandoned timeout in seconds
* @see #getRemoveAbandonedTimeout()
*/
- public void setRemoveAbandonedTimeout(int removeAbandonedTimeout) {
+ public void setRemoveAbandonedTimeout(final int removeAbandonedTimeout) {
this.removeAbandonedTimeout = removeAbandonedTimeout;
}
@@ -163,7 +163,7 @@ public class AbandonedConfig {
* @see #getLogAbandoned()
*
*/
- public void setLogAbandoned(boolean logAbandoned) {
+ public void setLogAbandoned(final boolean logAbandoned) {
this.logAbandoned = logAbandoned;
}
@@ -190,7 +190,7 @@ public class AbandonedConfig {
*
* @param logWriter The new log writer
*/
- public void setLogWriter(PrintWriter logWriter) {
+ public void setLogWriter(final PrintWriter logWriter) {
this.logWriter = logWriter;
}
@@ -226,7 +226,29 @@ public class AbandonedConfig {
* the recording of a stack trace on every use
* of a pooled object
*/
- public void setUseUsageTracking(boolean useUsageTracking) {
+ public void setUseUsageTracking(final boolean useUsageTracking) {
this.useUsageTracking = useUsageTracking;
}
+
+ /**
+ * @since 2.4.3
+ */
+ @Override
+ public String toString() {
+ final 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/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java?rev=1743737&r1=1743736&r2=1743737&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseGenericObjectPool.java Fri May 13 20:02:33 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
/**
@@ -125,8 +127,8 @@ public abstract class BaseGenericObjectP
* overridden by the config
* @param jmxNamePrefix Prefix to be used for JMX name for the new pool
*/
- public BaseGenericObjectPool(BaseObjectPoolConfig config,
- String jmxNameBase, String jmxNamePrefix) {
+ public BaseGenericObjectPool(final BaseObjectPoolConfig config,
+ final String jmxNameBase, final String jmxNamePrefix) {
if (config.getJmxEnabled()) {
this.oname = jmxRegister(config, jmxNameBase, jmxNamePrefix);
} else {
@@ -137,7 +139,7 @@ public abstract class BaseGenericObjectP
this.creationStackTrace = getStackTrace(new Exception());
// save the current TCCL (if any) to be used later by the evictor Thread
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ final ClassLoader cl = Thread.currentThread().getContextClassLoader();
if (cl == null) {
factoryClassLoader = null;
} else {
@@ -174,7 +176,7 @@ public abstract class BaseGenericObjectP
*
* @see #getMaxTotal
*/
- public final void setMaxTotal(int maxTotal) {
+ public final void setMaxTotal(final int maxTotal) {
this.maxTotal = maxTotal;
}
@@ -203,7 +205,7 @@ public abstract class BaseGenericObjectP
*
* @see #getBlockWhenExhausted
*/
- public final void setBlockWhenExhausted(boolean blockWhenExhausted) {
+ public final void setBlockWhenExhausted(final boolean blockWhenExhausted) {
this.blockWhenExhausted = blockWhenExhausted;
}
@@ -238,7 +240,7 @@ public abstract class BaseGenericObjectP
* @see #getMaxWaitMillis
* @see #setBlockWhenExhausted
*/
- public final void setMaxWaitMillis(long maxWaitMillis) {
+ public final void setMaxWaitMillis(final long maxWaitMillis) {
this.maxWaitMillis = maxWaitMillis;
}
@@ -281,7 +283,7 @@ public abstract class BaseGenericObjectP
*
* @see #getLifo()
*/
- public final void setLifo(boolean lifo) {
+ public final void setLifo(final boolean lifo) {
this.lifo = lifo;
}
@@ -318,7 +320,7 @@ public abstract class BaseGenericObjectP
*
* @since 2.2
*/
- public final void setTestOnCreate(boolean testOnCreate) {
+ public final void setTestOnCreate(final boolean testOnCreate) {
this.testOnCreate = testOnCreate;
}
@@ -353,7 +355,7 @@ public abstract class BaseGenericObjectP
*
* @see #getTestOnBorrow
*/
- public final void setTestOnBorrow(boolean testOnBorrow) {
+ public final void setTestOnBorrow(final boolean testOnBorrow) {
this.testOnBorrow = testOnBorrow;
}
@@ -386,7 +388,7 @@ public abstract class BaseGenericObjectP
*
* @see #getTestOnReturn
*/
- public final void setTestOnReturn(boolean testOnReturn) {
+ public final void setTestOnReturn(final boolean testOnReturn) {
this.testOnReturn = testOnReturn;
}
@@ -423,7 +425,7 @@ public abstract class BaseGenericObjectP
* @see #getTestWhileIdle
* @see #setTimeBetweenEvictionRunsMillis
*/
- public final void setTestWhileIdle(boolean testWhileIdle) {
+ public final void setTestWhileIdle(final boolean testWhileIdle) {
this.testWhileIdle = testWhileIdle;
}
@@ -451,7 +453,7 @@ public abstract class BaseGenericObjectP
* @see #getTimeBetweenEvictionRunsMillis
*/
public final void setTimeBetweenEvictionRunsMillis(
- long timeBetweenEvictionRunsMillis) {
+ final long timeBetweenEvictionRunsMillis) {
this.timeBetweenEvictionRunsMillis = timeBetweenEvictionRunsMillis;
startEvictor(timeBetweenEvictionRunsMillis);
}
@@ -491,7 +493,7 @@ public abstract class BaseGenericObjectP
* @see #getNumTestsPerEvictionRun
* @see #setTimeBetweenEvictionRunsMillis
*/
- public final void setNumTestsPerEvictionRun(int numTestsPerEvictionRun) {
+ public final void setNumTestsPerEvictionRun(final int numTestsPerEvictionRun) {
this.numTestsPerEvictionRun = numTestsPerEvictionRun;
}
@@ -525,7 +527,7 @@ public abstract class BaseGenericObjectP
* @see #setTimeBetweenEvictionRunsMillis
*/
public final void setMinEvictableIdleTimeMillis(
- long minEvictableIdleTimeMillis) {
+ final long minEvictableIdleTimeMillis) {
this.minEvictableIdleTimeMillis = minEvictableIdleTimeMillis;
}
@@ -566,7 +568,7 @@ public abstract class BaseGenericObjectP
* @see #getSoftMinEvictableIdleTimeMillis
*/
public final void setSoftMinEvictableIdleTimeMillis(
- long softMinEvictableIdleTimeMillis) {
+ final long softMinEvictableIdleTimeMillis) {
this.softMinEvictableIdleTimeMillis = softMinEvictableIdleTimeMillis;
}
@@ -594,30 +596,31 @@ public abstract class BaseGenericObjectP
* @see #getEvictionPolicyClassName()
*/
public final void setEvictionPolicyClassName(
- String evictionPolicyClassName) {
+ final String evictionPolicyClassName) {
try {
Class<?> clazz;
try {
clazz = Class.forName(evictionPolicyClassName, true,
Thread.currentThread().getContextClassLoader());
- } catch (ClassNotFoundException e) {
+ } catch (final ClassNotFoundException e) {
clazz = Class.forName(evictionPolicyClassName);
}
- Object policy = clazz.newInstance();
+ final Object policy = clazz.newInstance();
if (policy instanceof EvictionPolicy<?>) {
@SuppressWarnings("unchecked") // safe, because we just checked the class
+ final
EvictionPolicy<T> evicPolicy = (EvictionPolicy<T>) policy;
this.evictionPolicy = evicPolicy;
}
- } catch (ClassNotFoundException e) {
+ } catch (final ClassNotFoundException e) {
throw new IllegalArgumentException(
"Unable to create EvictionPolicy instance of type " +
evictionPolicyClassName, e);
- } catch (InstantiationException e) {
+ } catch (final InstantiationException e) {
throw new IllegalArgumentException(
"Unable to create EvictionPolicy instance of type " +
evictionPolicyClassName, e);
- } catch (IllegalAccessException e) {
+ } catch (final IllegalAccessException e) {
throw new IllegalArgumentException(
"Unable to create EvictionPolicy instance of type " +
evictionPolicyClassName, e);
@@ -681,7 +684,7 @@ public abstract class BaseGenericObjectP
*
* @param delay time in milliseconds before start and between eviction runs
*/
- final void startEvictor(long delay) {
+ final void startEvictor(final long delay) {
synchronized (evictionLock) {
if (null != evictor) {
EvictionTimer.cancel(evictor);
@@ -845,7 +848,7 @@ public abstract class BaseGenericObjectP
* for no listener
*/
public final void setSwallowedExceptionListener(
- SwallowedExceptionListener swallowedExceptionListener) {
+ final SwallowedExceptionListener swallowedExceptionListener) {
this.swallowedExceptionListener = swallowedExceptionListener;
}
@@ -855,8 +858,8 @@ public abstract class BaseGenericObjectP
*
* @param e exception to be swallowed
*/
- final void swallowException(Exception e) {
- SwallowedExceptionListener listener = getSwallowedExceptionListener();
+ final void swallowException(final Exception e) {
+ final SwallowedExceptionListener listener = getSwallowedExceptionListener();
if (listener == null) {
return;
@@ -864,11 +867,11 @@ public abstract class BaseGenericObjectP
try {
listener.onSwallowException(e);
- } catch (OutOfMemoryError oome) {
+ } catch (final OutOfMemoryError oome) {
throw oome;
- } catch (VirtualMachineError vme) {
+ } catch (final VirtualMachineError vme) {
throw vme;
- } catch (Throwable t) {
+ } catch (final Throwable t) {
// Ignore. Enjoy the irony.
}
}
@@ -878,7 +881,7 @@ public abstract class BaseGenericObjectP
* @param p object borrowed from the pool
* @param waitTime time (in milliseconds) that the borrowing thread had to wait
*/
- final void updateStatsBorrow(PooledObject<T> p, long waitTime) {
+ final void updateStatsBorrow(final PooledObject<T> p, final long waitTime) {
borrowedCount.incrementAndGet();
idleTimes.add(p.getIdleTimeMillis());
waitTimes.add(waitTime);
@@ -898,7 +901,7 @@ public abstract class BaseGenericObjectP
* @param activeTime the amount of time (in milliseconds) that the returning
* object was checked out
*/
- final void updateStatsReturn(long activeTime) {
+ final void updateStatsReturn(final long activeTime) {
returnedCount.incrementAndGet();
activeTimes.add(activeTime);
}
@@ -911,9 +914,9 @@ public abstract class BaseGenericObjectP
try {
ManagementFactory.getPlatformMBeanServer().unregisterMBean(
oname);
- } catch (MBeanRegistrationException e) {
+ } catch (final MBeanRegistrationException e) {
swallowException(e);
- } catch (InstanceNotFoundException e) {
+ } catch (final InstanceNotFoundException e) {
swallowException(e);
}
}
@@ -932,10 +935,10 @@ public abstract class BaseGenericObjectP
* @param jmxNamePrefix name prefix
* @return registered ObjectName, null if registration fails
*/
- private ObjectName jmxRegister(BaseObjectPoolConfig config,
- String jmxNameBase, String jmxNamePrefix) {
+ private ObjectName jmxRegister(final BaseObjectPoolConfig config,
+ final String jmxNameBase, String jmxNamePrefix) {
ObjectName objectName = null;
- MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+ final MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
int i = 1;
boolean registered = false;
String base = config.getJmxNameBase();
@@ -955,7 +958,7 @@ public abstract class BaseGenericObjectP
mbs.registerMBean(this, objName);
objectName = objName;
registered = true;
- } catch (MalformedObjectNameException e) {
+ } catch (final MalformedObjectNameException e) {
if (BaseObjectPoolConfig.DEFAULT_JMX_NAME_PREFIX.equals(
jmxNamePrefix) && jmxNameBase.equals(base)) {
// Shouldn't happen. Skip registration if it does.
@@ -966,13 +969,13 @@ public abstract class BaseGenericObjectP
BaseObjectPoolConfig.DEFAULT_JMX_NAME_PREFIX;
base = jmxNameBase;
}
- } catch (InstanceAlreadyExistsException e) {
+ } catch (final InstanceAlreadyExistsException e) {
// Increment the index and try again
i++;
- } catch (MBeanRegistrationException e) {
+ } catch (final MBeanRegistrationException e) {
// Shouldn't happen. Skip registration if it does.
registered = true;
- } catch (NotCompliantMBeanException e) {
+ } catch (final NotCompliantMBeanException e) {
// Shouldn't happen. Skip registration if it does.
registered = true;
}
@@ -985,12 +988,12 @@ public abstract class BaseGenericObjectP
* @param e exception to trace
* @return exception stack trace as a string
*/
- private String getStackTrace(Exception e) {
+ private String getStackTrace(final Exception e) {
// Need the exception in string form to prevent the retention of
// references to classes in the stack trace that could trigger a memory
// leak in a container environment.
- Writer w = new StringWriter();
- PrintWriter pw = new PrintWriter(w);
+ final Writer w = new StringWriter();
+ final PrintWriter pw = new PrintWriter(w);
e.printStackTrace(pw);
return w.toString();
}
@@ -1013,12 +1016,12 @@ public abstract class BaseGenericObjectP
*/
@Override
public void run() {
- ClassLoader savedClassLoader =
+ final ClassLoader savedClassLoader =
Thread.currentThread().getContextClassLoader();
try {
if (factoryClassLoader != null) {
// Set the class loader for the factory
- ClassLoader cl = factoryClassLoader.get();
+ final ClassLoader cl = factoryClassLoader.get();
if (cl == null) {
// The pool has been dereferenced and the class loader
// GC'd. Cancel this timer so the pool can be GC'd as
@@ -1032,9 +1035,9 @@ public abstract class BaseGenericObjectP
// Evict from the pool
try {
evict();
- } catch(Exception e) {
+ } catch(final Exception e) {
swallowException(e);
- } catch(OutOfMemoryError oome) {
+ } catch(final OutOfMemoryError oome) {
// Log problem but give evictor thread a chance to continue
// in case error is recoverable
oome.printStackTrace(System.err);
@@ -1042,7 +1045,7 @@ public abstract class BaseGenericObjectP
// Re-create idle instances.
try {
ensureMinIdle();
- } catch (Exception e) {
+ } catch (final Exception e) {
swallowException(e);
}
} finally {
@@ -1067,7 +1070,7 @@ public abstract class BaseGenericObjectP
*
* @param size number of values to maintain in the cache.
*/
- public StatsStore(int size) {
+ public StatsStore(final int size) {
this.size = size;
values = new AtomicLong[size];
for (int i = 0; i < size; i++) {
@@ -1081,7 +1084,7 @@ public abstract class BaseGenericObjectP
*
* @param value new value to add to the cache.
*/
- public synchronized void add(long value) {
+ public synchronized void add(final long value) {
values[index].set(value);
index++;
if (index == size) {
@@ -1098,7 +1101,7 @@ public abstract class BaseGenericObjectP
double result = 0;
int counter = 0;
for (int i = 0; i < size; i++) {
- long value = values[i].get();
+ final long value = values[i].get();
if (value != -1) {
counter++;
result = result * ((counter - 1) / (double) counter) +
@@ -1107,6 +1110,19 @@ public abstract class BaseGenericObjectP
}
return (long) result;
}
+
+ @Override
+ public String toString() {
+ final 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();
+ }
}
/**
@@ -1177,7 +1193,7 @@ public abstract class BaseGenericObjectP
*
* @param instance object to wrap
*/
- public IdentityWrapper(T instance) {
+ public IdentityWrapper(final T instance) {
this.instance = instance;
}
@@ -1188,8 +1204,9 @@ public abstract class BaseGenericObjectP
@Override
@SuppressWarnings("rawtypes")
- public boolean equals(Object other) {
- return ((IdentityWrapper) other).instance == instance;
+ public boolean equals(final Object other) {
+ return other instanceof IdentityWrapper &&
+ ((IdentityWrapper) other).instance == instance;
}
/**
@@ -1198,6 +1215,85 @@ public abstract class BaseGenericObjectP
public T getObject() {
return instance;
}
+
+ @Override
+ public String toString() {
+ final StringBuilder builder = new StringBuilder();
+ builder.append("IdentityWrapper [instance=");
+ builder.append(instance);
+ builder.append("]");
+ return builder.toString();
+ }
+ }
+
+ @Override
+ protected void toStringAppendFields(final 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/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java?rev=1743737&r1=1743736&r2=1743737&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/BaseObjectPoolConfig.java Fri May 13 20:02:33 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.
@@ -228,7 +230,7 @@ public abstract class BaseObjectPoolConf
* @see GenericObjectPool#getLifo()
* @see GenericKeyedObjectPool#getLifo()
*/
- public void setLifo(boolean lifo) {
+ public void setLifo(final boolean lifo) {
this.lifo = lifo;
}
@@ -242,7 +244,7 @@ public abstract class BaseObjectPoolConf
* @see GenericObjectPool#getFairness()
* @see GenericKeyedObjectPool#getFairness()
*/
- public void setFairness(boolean fairness) {
+ public void setFairness(final boolean fairness) {
this.fairness = fairness;
}
@@ -270,7 +272,7 @@ public abstract class BaseObjectPoolConf
* @see GenericObjectPool#getMaxWaitMillis()
* @see GenericKeyedObjectPool#getMaxWaitMillis()
*/
- public void setMaxWaitMillis(long maxWaitMillis) {
+ public void setMaxWaitMillis(final long maxWaitMillis) {
this.maxWaitMillis = maxWaitMillis;
}
@@ -298,7 +300,7 @@ public abstract class BaseObjectPoolConf
* @see GenericObjectPool#getMinEvictableIdleTimeMillis()
* @see GenericKeyedObjectPool#getMinEvictableIdleTimeMillis()
*/
- public void setMinEvictableIdleTimeMillis(long minEvictableIdleTimeMillis) {
+ public void setMinEvictableIdleTimeMillis(final long minEvictableIdleTimeMillis) {
this.minEvictableIdleTimeMillis = minEvictableIdleTimeMillis;
}
@@ -330,7 +332,7 @@ public abstract class BaseObjectPoolConf
* @see GenericKeyedObjectPool#getSoftMinEvictableIdleTimeMillis()
*/
public void setSoftMinEvictableIdleTimeMillis(
- long softMinEvictableIdleTimeMillis) {
+ final long softMinEvictableIdleTimeMillis) {
this.softMinEvictableIdleTimeMillis = softMinEvictableIdleTimeMillis;
}
@@ -358,7 +360,7 @@ public abstract class BaseObjectPoolConf
* @see GenericObjectPool#getNumTestsPerEvictionRun()
* @see GenericKeyedObjectPool#getNumTestsPerEvictionRun()
*/
- public void setNumTestsPerEvictionRun(int numTestsPerEvictionRun) {
+ public void setNumTestsPerEvictionRun(final int numTestsPerEvictionRun) {
this.numTestsPerEvictionRun = numTestsPerEvictionRun;
}
@@ -390,7 +392,7 @@ public abstract class BaseObjectPoolConf
*
* @since 2.2
*/
- public void setTestOnCreate(boolean testOnCreate) {
+ public void setTestOnCreate(final boolean testOnCreate) {
this.testOnCreate = testOnCreate;
}
@@ -418,7 +420,7 @@ public abstract class BaseObjectPoolConf
* @see GenericObjectPool#getTestOnBorrow()
* @see GenericKeyedObjectPool#getTestOnBorrow()
*/
- public void setTestOnBorrow(boolean testOnBorrow) {
+ public void setTestOnBorrow(final boolean testOnBorrow) {
this.testOnBorrow = testOnBorrow;
}
@@ -446,7 +448,7 @@ public abstract class BaseObjectPoolConf
* @see GenericObjectPool#getTestOnReturn()
* @see GenericKeyedObjectPool#getTestOnReturn()
*/
- public void setTestOnReturn(boolean testOnReturn) {
+ public void setTestOnReturn(final boolean testOnReturn) {
this.testOnReturn = testOnReturn;
}
@@ -474,7 +476,7 @@ public abstract class BaseObjectPoolConf
* @see GenericObjectPool#getTestWhileIdle()
* @see GenericKeyedObjectPool#getTestWhileIdle()
*/
- public void setTestWhileIdle(boolean testWhileIdle) {
+ public void setTestWhileIdle(final boolean testWhileIdle) {
this.testWhileIdle = testWhileIdle;
}
@@ -504,7 +506,7 @@ public abstract class BaseObjectPoolConf
* @see GenericKeyedObjectPool#getTimeBetweenEvictionRunsMillis()
*/
public void setTimeBetweenEvictionRunsMillis(
- long timeBetweenEvictionRunsMillis) {
+ final long timeBetweenEvictionRunsMillis) {
this.timeBetweenEvictionRunsMillis = timeBetweenEvictionRunsMillis;
}
@@ -532,7 +534,7 @@ public abstract class BaseObjectPoolConf
* @see GenericObjectPool#getEvictionPolicyClassName()
* @see GenericKeyedObjectPool#getEvictionPolicyClassName()
*/
- public void setEvictionPolicyClassName(String evictionPolicyClassName) {
+ public void setEvictionPolicyClassName(final String evictionPolicyClassName) {
this.evictionPolicyClassName = evictionPolicyClassName;
}
@@ -560,7 +562,7 @@ public abstract class BaseObjectPoolConf
* @see GenericObjectPool#getBlockWhenExhausted()
* @see GenericKeyedObjectPool#getBlockWhenExhausted()
*/
- public void setBlockWhenExhausted(boolean blockWhenExhausted) {
+ public void setBlockWhenExhausted(final boolean blockWhenExhausted) {
this.blockWhenExhausted = blockWhenExhausted;
}
@@ -582,7 +584,7 @@ public abstract class BaseObjectPoolConf
* @param jmxEnabled The new setting of {@code jmxEnabled}
* for this configuration instance
*/
- public void setJmxEnabled(boolean jmxEnabled) {
+ public void setJmxEnabled(final boolean jmxEnabled) {
this.jmxEnabled = jmxEnabled;
}
@@ -608,7 +610,7 @@ public abstract class BaseObjectPoolConf
* @param jmxNameBase The new setting of {@code jmxNameBase}
* for this configuration instance
*/
- public void setJmxNameBase(String jmxNameBase) {
+ public void setJmxNameBase(final String jmxNameBase) {
this.jmxNameBase = jmxNameBase;
}
@@ -632,7 +634,43 @@ public abstract class BaseObjectPoolConf
* @param jmxNamePrefix The new setting of {@code jmxNamePrefix}
* for this configuration instance
*/
- public void setJmxNamePrefix(String jmxNamePrefix) {
+ public void setJmxNamePrefix(final String jmxNamePrefix) {
this.jmxNamePrefix = jmxNamePrefix;
}
+
+ @Override
+ protected void toStringAppendFields(final 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/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultEvictionPolicy.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultEvictionPolicy.java?rev=1743737&r1=1743736&r2=1743737&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultEvictionPolicy.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultEvictionPolicy.java Fri May 13 20:02:33 2016
@@ -40,8 +40,8 @@ import org.apache.tomcat.dbcp.pool2.Pool
public class DefaultEvictionPolicy<T> implements EvictionPolicy<T> {
@Override
- public boolean evict(EvictionConfig config, PooledObject<T> underTest,
- int idleCount) {
+ public boolean evict(final EvictionConfig config, final PooledObject<T> underTest,
+ final int idleCount) {
if ((config.getIdleSoftEvictTime() < underTest.getIdleTimeMillis() &&
config.getMinIdle() < idleCount) ||
Modified: tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java?rev=1743737&r1=1743736&r2=1743737&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObject.java Fri May 13 20:02:33 2016
@@ -54,7 +54,7 @@ public class DefaultPooledObject<T> impl
*
* @param object The object to wrap
*/
- public DefaultPooledObject(T object) {
+ public DefaultPooledObject(final T object) {
this.object = object;
}
@@ -71,14 +71,13 @@ public class DefaultPooledObject<T> impl
@Override
public long getActiveTimeMillis() {
// Take copies to avoid threading issues
- long rTime = lastReturnTime;
- long bTime = lastBorrowTime;
+ final long rTime = lastReturnTime;
+ final long bTime = lastBorrowTime;
if (rTime > bTime) {
return rTime - bTime;
- } else {
- return System.currentTimeMillis() - bTime;
}
+ return System.currentTimeMillis() - bTime;
}
@Override
@@ -122,13 +121,12 @@ 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
- public int compareTo(PooledObject<T> other) {
+ public int compareTo(final PooledObject<T> other) {
final long lastActiveDiff = this.getLastReturnTime() - other.getLastReturnTime();
if (lastActiveDiff == 0) {
// Make sure the natural ordering is broadly consistent with equals
@@ -143,7 +141,7 @@ public class DefaultPooledObject<T> impl
@Override
public String toString() {
- StringBuilder result = new StringBuilder();
+ final StringBuilder result = new StringBuilder();
result.append("Object: ");
result.append(object.toString());
result.append(", State: ");
@@ -166,7 +164,7 @@ public class DefaultPooledObject<T> impl
@Override
public synchronized boolean endEvictionTest(
- Deque<PooledObject<T>> idleQueue) {
+ final Deque<PooledObject<T>> idleQueue) {
if (state == PooledObjectState.EVICTION) {
state = PooledObjectState.IDLE;
return true;
@@ -240,14 +238,14 @@ public class DefaultPooledObject<T> impl
}
@Override
- public void printStackTrace(PrintWriter writer) {
+ public void printStackTrace(final PrintWriter writer) {
boolean written = false;
- Exception borrowedByCopy = this.borrowedBy;
+ final Exception borrowedByCopy = this.borrowedBy;
if (borrowedByCopy != null) {
borrowedByCopy.printStackTrace(writer);
written = true;
}
- Exception usedByCopy = this.usedBy;
+ final Exception usedByCopy = this.usedBy;
if (usedByCopy != null) {
usedByCopy.printStackTrace(writer);
written = true;
@@ -283,7 +281,7 @@ public class DefaultPooledObject<T> impl
}
@Override
- public void setLogAbandoned(boolean logAbandoned) {
+ public void setLogAbandoned(final boolean logAbandoned) {
this.logAbandoned = logAbandoned;
}
Modified: tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObjectInfo.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObjectInfo.java?rev=1743737&r1=1743736&r2=1743737&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObjectInfo.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/DefaultPooledObjectInfo.java Fri May 13 20:02:33 2016
@@ -37,7 +37,7 @@ public class DefaultPooledObjectInfo imp
*
* @param pooledObject The pooled object that this instance will represent
*/
- public DefaultPooledObjectInfo(PooledObject<?> pooledObject) {
+ public DefaultPooledObjectInfo(final PooledObject<?> pooledObject) {
this.pooledObject = pooledObject;
}
@@ -48,7 +48,7 @@ public class DefaultPooledObjectInfo imp
@Override
public String getCreateTimeFormatted() {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
+ final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
return sdf.format(Long.valueOf(pooledObject.getCreateTime()));
}
@@ -59,13 +59,13 @@ public class DefaultPooledObjectInfo imp
@Override
public String getLastBorrowTimeFormatted() {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
+ final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
return sdf.format(Long.valueOf(pooledObject.getLastBorrowTime()));
}
@Override
public String getLastBorrowTrace() {
- StringWriter sw = new StringWriter();
+ final StringWriter sw = new StringWriter();
pooledObject.printStackTrace(new PrintWriter(sw));
return sw.toString();
}
@@ -77,7 +77,7 @@ public class DefaultPooledObjectInfo imp
@Override
public String getLastReturnTimeFormatted() {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
+ final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z");
return sdf.format(Long.valueOf(pooledObject.getLastReturnTime()));
}
@@ -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() {
+ final StringBuilder builder = new StringBuilder();
+ builder.append("DefaultPooledObjectInfo [pooledObject=");
+ builder.append(pooledObject);
+ builder.append("]");
+ return builder.toString();
}
}
Modified: tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionConfig.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionConfig.java?rev=1743737&r1=1743736&r2=1743737&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionConfig.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionConfig.java Fri May 13 20:02:33 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.
@@ -44,8 +43,8 @@ public class EvictionConfig {
* {@link GenericObjectPool#getMinIdle()} or
* {@link GenericKeyedObjectPool#getMinIdlePerKey()}
*/
- public EvictionConfig(long poolIdleEvictTime, long poolIdleSoftEvictTime,
- int minIdle) {
+ public EvictionConfig(final long poolIdleEvictTime, final long poolIdleSoftEvictTime,
+ final int minIdle) {
if (poolIdleEvictTime > 0) {
idleEvictTime = poolIdleEvictTime;
} else {
@@ -96,4 +95,20 @@ public class EvictionConfig {
public int getMinIdle() {
return minIdle;
}
+
+ /**
+ * @since 2.4
+ */
+ @Override
+ public String toString() {
+ final 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/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java
URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java?rev=1743737&r1=1743736&r2=1743737&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java (original)
+++ tomcat/tc8.0.x/trunk/java/org/apache/tomcat/dbcp/pool2/impl/EvictionTimer.java Fri May 13 20:02:33 2016
@@ -58,11 +58,11 @@ class EvictionTimer {
* @param delay Delay in milliseconds before task is executed
* @param period Time in milliseconds between executions
*/
- static synchronized void schedule(TimerTask task, long delay, long period) {
+ static synchronized void schedule(final TimerTask task, final long delay, final long period) {
if (null == _timer) {
// Force the new Timer thread to be created with a context class
// loader set to the class loader that loaded this library
- ClassLoader ccl = AccessController.doPrivileged(
+ final ClassLoader ccl = AccessController.doPrivileged(
new PrivilegedGetTccl());
try {
AccessController.doPrivileged(new PrivilegedSetTccl(
@@ -80,7 +80,7 @@ class EvictionTimer {
* Remove the specified eviction task from the timer.
* @param task Task to be scheduled
*/
- static synchronized void cancel(TimerTask task) {
+ static synchronized void cancel(final TimerTask task) {
task.cancel();
_usageCount--;
if (_usageCount == 0) {
@@ -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;
+ PrivilegedSetTccl(final ClassLoader 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() {
+ final 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() {
+ final StringBuilder builder = new StringBuilder();
+ builder.append("EvictionTimer []");
+ return builder.toString();
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org