Author: markt Date: Tue Sep 23 13:18:22 2014 New Revision: 1627007 URL: http://svn.apache.org/r1627007 Log: Port some code clean-up from Pool2 trunk.
Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseKeyedPooledObjectFactory.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/AbandonedConfig.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/SoftReferenceObjectPool.java 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=1627007&r1=1627006&r2=1627007&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseKeyedPooledObjectFactory.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/BaseKeyedPooledObjectFactory.java Tue Sep 23 13:18:22 2014 @@ -76,7 +76,7 @@ public abstract class BaseKeyedPooledObj /** * Ensures that the instance is safe to be returned by the pool. * <p> - * The default implementation always returns <tt>true</tt>. + * The default implementation always returns {@code true}. * * @param key the key used when selecting the object * @param p a {@code PooledObject} wrapping the the instance to be validated 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=1627007&r1=1627006&r2=1627007&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 Tue Sep 23 13:18:22 2014 @@ -44,7 +44,7 @@ public class AbandonedConfig { * @return true if abandoned objects are to be removed by borrowObject */ public boolean getRemoveAbandonedOnBorrow() { - return (this.removeAbandonedOnBorrow); + return this.removeAbandonedOnBorrow; } /** @@ -81,7 +81,7 @@ public class AbandonedConfig { * @return true if abandoned objects are to be removed by the evictor */ public boolean getRemoveAbandonedOnMaintenance() { - return (this.removeAbandonedOnMaintenance); + return this.removeAbandonedOnMaintenance; } /** @@ -114,7 +114,7 @@ public class AbandonedConfig { * @return the abandoned object timeout in seconds */ public int getRemoveAbandonedTimeout() { - return (this.removeAbandonedTimeout); + return this.removeAbandonedTimeout; } /** @@ -152,7 +152,7 @@ public class AbandonedConfig { * */ public boolean getLogAbandoned() { - return (this.logAbandoned); + return this.logAbandoned; } /** Modified: tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java?rev=1627007&r1=1627006&r2=1627007&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java (original) +++ tomcat/trunk/java/org/apache/tomcat/dbcp/pool2/impl/LinkedBlockingDeque.java Tue Sep 23 13:18:22 2014 @@ -130,17 +130,17 @@ class LinkedBlockingDeque<E> extends Abs * Invariant: (first == null && last == null) || * (first.prev == null && first.item != null) */ - private transient Node<E> first; + private transient Node<E> first; // @GuardedBy("lock") /** * Pointer to last node. * Invariant: (first == null && last == null) || * (last.next == null && last.item != null) */ - private transient Node<E> last; + private transient Node<E> last; // @GuardedBy("lock") /** Number of items in the deque */ - private transient int count; + private transient int count; // @GuardedBy("lock") /** Maximum number of items in the deque */ private final int capacity; @@ -192,7 +192,9 @@ class LinkedBlockingDeque<E> extends Abs * @throws IllegalArgumentException if {@code capacity} is less than 1 */ public LinkedBlockingDeque(int capacity, boolean fairness) { - if (capacity <= 0) throw new IllegalArgumentException(); + if (capacity <= 0) { + throw new IllegalArgumentException(); + } this.capacity = capacity; lock = new InterruptibleReentrantLock(fairness); notEmpty = lock.newCondition(); @@ -214,10 +216,12 @@ class LinkedBlockingDeque<E> extends Abs lock.lock(); // Never contended, but necessary for visibility try { for (E e : c) { - if (e == null) + if (e == null) { throw new NullPointerException(); - if (!linkLast(e)) + } + if (!linkLast(e)) { throw new IllegalStateException("Deque full"); + } } } finally { lock.unlock(); @@ -236,15 +240,17 @@ class LinkedBlockingDeque<E> extends Abs */ private boolean linkFirst(E e) { // assert lock.isHeldByCurrentThread(); - if (count >= capacity) + if (count >= capacity) { return false; + } Node<E> f = first; Node<E> x = new Node<>(e, null, f); first = x; - if (last == null) + if (last == null) { last = x; - else + } else { f.prev = x; + } ++count; notEmpty.signal(); return true; @@ -259,15 +265,17 @@ class LinkedBlockingDeque<E> extends Abs */ private boolean linkLast(E e) { // assert lock.isHeldByCurrentThread(); - if (count >= capacity) + if (count >= capacity) { return false; + } Node<E> l = last; Node<E> x = new Node<>(e, l, null); last = x; - if (first == null) + if (first == null) { first = x; - else + } else { l.next = x; + } ++count; notEmpty.signal(); return true; @@ -281,17 +289,19 @@ class LinkedBlockingDeque<E> extends Abs private E unlinkFirst() { // assert lock.isHeldByCurrentThread(); Node<E> f = first; - if (f == null) + if (f == null) { return null; + } Node<E> n = f.next; E item = f.item; f.item = null; f.next = f; // help GC first = n; - if (n == null) + if (n == null) { last = null; - else + } else { n.prev = null; + } --count; notFull.signal(); return item; @@ -305,17 +315,19 @@ class LinkedBlockingDeque<E> extends Abs private E unlinkLast() { // assert lock.isHeldByCurrentThread(); Node<E> l = last; - if (l == null) + if (l == null) { return null; + } Node<E> p = l.prev; E item = l.item; l.item = null; l.prev = l; // help GC last = p; - if (p == null) + if (p == null) { first = null; - else + } else { p.next = null; + } --count; notFull.signal(); return item; @@ -352,8 +364,9 @@ class LinkedBlockingDeque<E> extends Abs */ @Override public void addFirst(E e) { - if (!offerFirst(e)) + if (!offerFirst(e)) { throw new IllegalStateException("Deque full"); + } } /** @@ -361,8 +374,9 @@ class LinkedBlockingDeque<E> extends Abs */ @Override public void addLast(E e) { - if (!offerLast(e)) + if (!offerLast(e)) { throw new IllegalStateException("Deque full"); + } } /** @@ -370,7 +384,9 @@ class LinkedBlockingDeque<E> extends Abs */ @Override public boolean offerFirst(E e) { - if (e == null) throw new NullPointerException(); + if (e == null) { + throw new NullPointerException(); + } lock.lock(); try { return linkFirst(e); @@ -384,7 +400,9 @@ class LinkedBlockingDeque<E> extends Abs */ @Override public boolean offerLast(E e) { - if (e == null) throw new NullPointerException(); + if (e == null) { + throw new NullPointerException(); + } lock.lock(); try { return linkLast(e); @@ -403,11 +421,14 @@ class LinkedBlockingDeque<E> extends Abs * @throws InterruptedException */ public void putFirst(E e) throws InterruptedException { - if (e == null) throw new NullPointerException(); + if (e == null) { + throw new NullPointerException(); + } lock.lock(); try { - while (!linkFirst(e)) + while (!linkFirst(e)) { notFull.await(); + } } finally { lock.unlock(); } @@ -423,11 +444,14 @@ class LinkedBlockingDeque<E> extends Abs * @throws InterruptedException */ public void putLast(E e) throws InterruptedException { - if (e == null) throw new NullPointerException(); + if (e == null) { + throw new NullPointerException(); + } lock.lock(); try { - while (!linkLast(e)) + while (!linkLast(e)) { notFull.await(); + } } finally { lock.unlock(); } @@ -448,13 +472,16 @@ class LinkedBlockingDeque<E> extends Abs */ public boolean offerFirst(E e, long timeout, TimeUnit unit) throws InterruptedException { - if (e == null) throw new NullPointerException(); + if (e == null) { + throw new NullPointerException(); + } long nanos = unit.toNanos(timeout); lock.lockInterruptibly(); try { while (!linkFirst(e)) { - if (nanos <= 0) + if (nanos <= 0) { return false; + } nanos = notFull.awaitNanos(nanos); } return true; @@ -478,13 +505,16 @@ class LinkedBlockingDeque<E> extends Abs */ public boolean offerLast(E e, long timeout, TimeUnit unit) throws InterruptedException { - if (e == null) throw new NullPointerException(); + if (e == null) { + throw new NullPointerException(); + } long nanos = unit.toNanos(timeout); lock.lockInterruptibly(); try { while (!linkLast(e)) { - if (nanos <= 0) + if (nanos <= 0) { return false; + } nanos = notFull.awaitNanos(nanos); } return true; @@ -499,7 +529,9 @@ class LinkedBlockingDeque<E> extends Abs @Override public E removeFirst() { E x = pollFirst(); - if (x == null) throw new NoSuchElementException(); + if (x == null) { + throw new NoSuchElementException(); + } return x; } @@ -509,7 +541,9 @@ class LinkedBlockingDeque<E> extends Abs @Override public E removeLast() { E x = pollLast(); - if (x == null) throw new NoSuchElementException(); + if (x == null) { + throw new NoSuchElementException(); + } return x; } @@ -544,8 +578,9 @@ class LinkedBlockingDeque<E> extends Abs lock.lock(); try { E x; - while ( (x = unlinkFirst()) == null) + while ( (x = unlinkFirst()) == null) { notEmpty.await(); + } return x; } finally { lock.unlock(); @@ -563,8 +598,9 @@ class LinkedBlockingDeque<E> extends Abs lock.lock(); try { E x; - while ( (x = unlinkLast()) == null) + while ( (x = unlinkLast()) == null) { notEmpty.await(); + } return x; } finally { lock.unlock(); @@ -588,8 +624,9 @@ class LinkedBlockingDeque<E> extends Abs try { E x; while ( (x = unlinkFirst()) == null) { - if (nanos <= 0) + if (nanos <= 0) { return null; + } nanos = notEmpty.awaitNanos(nanos); } return x; @@ -615,8 +652,9 @@ class LinkedBlockingDeque<E> extends Abs try { E x; while ( (x = unlinkLast()) == null) { - if (nanos <= 0) + if (nanos <= 0) { return null; + } nanos = notEmpty.awaitNanos(nanos); } return x; @@ -631,7 +669,9 @@ class LinkedBlockingDeque<E> extends Abs @Override public E getFirst() { E x = peekFirst(); - if (x == null) throw new NoSuchElementException(); + if (x == null) { + throw new NoSuchElementException(); + } return x; } @@ -641,7 +681,9 @@ class LinkedBlockingDeque<E> extends Abs @Override public E getLast() { E x = peekLast(); - if (x == null) throw new NoSuchElementException(); + if (x == null) { + throw new NoSuchElementException(); + } return x; } @@ -649,7 +691,7 @@ class LinkedBlockingDeque<E> extends Abs public E peekFirst() { lock.lock(); try { - return (first == null) ? null : first.item; + return first == null ? null : first.item; } finally { lock.unlock(); } @@ -659,7 +701,7 @@ class LinkedBlockingDeque<E> extends Abs public E peekLast() { lock.lock(); try { - return (last == null) ? null : last.item; + return last == null ? null : last.item; } finally { lock.unlock(); } @@ -667,7 +709,9 @@ class LinkedBlockingDeque<E> extends Abs @Override public boolean removeFirstOccurrence(Object o) { - if (o == null) return false; + if (o == null) { + return false; + } lock.lock(); try { for (Node<E> p = first; p != null; p = p.next) { @@ -684,7 +728,9 @@ class LinkedBlockingDeque<E> extends Abs @Override public boolean removeLastOccurrence(Object o) { - if (o == null) return false; + if (o == null) { + return false; + } lock.lock(); try { for (Node<E> p = last; p != null; p = p.prev) { @@ -874,10 +920,12 @@ class LinkedBlockingDeque<E> extends Abs * @throws IllegalArgumentException */ public int drainTo(Collection<? super E> c, int maxElements) { - if (c == null) + if (c == null) { throw new NullPointerException(); - if (c == this) + } + if (c == this) { throw new IllegalArgumentException(); + } lock.lock(); try { int n = Math.min(maxElements, count); @@ -955,12 +1003,16 @@ class LinkedBlockingDeque<E> extends Abs */ @Override public boolean contains(Object o) { - if (o == null) return false; + if (o == null) { + return false; + } lock.lock(); try { - for (Node<E> p = first; p != null; p = p.next) - if (o.equals(p.item)) + for (Node<E> p = first; p != null; p = p.next) { + if (o.equals(p.item)) { return true; + } + } return false; } finally { lock.unlock(); @@ -1027,8 +1079,9 @@ class LinkedBlockingDeque<E> extends Abs try { Object[] a = new Object[count]; int k = 0; - for (Node<E> p = first; p != null; p = p.next) + for (Node<E> p = first; p != null; p = p.next) { a[k++] = p.item; + } return a; } finally { lock.unlock(); @@ -1048,8 +1101,9 @@ class LinkedBlockingDeque<E> extends Abs (a.getClass().getComponentType(), count); } int k = 0; - for (Node<E> p = first; p != null; p = p.next) + for (Node<E> p = first; p != null; p = p.next) { a[k++] = (T)p.item; + } if (a.length > k) { a[k] = null; } @@ -1165,7 +1219,7 @@ class LinkedBlockingDeque<E> extends Abs lock.lock(); try { next = firstNode(); - nextItem = (next == null) ? null : next.item; + nextItem = next == null ? null : next.item; } finally { lock.unlock(); } @@ -1184,11 +1238,12 @@ class LinkedBlockingDeque<E> extends Abs } else { // Skip over removed nodes. // May be necessary if multiple interior Nodes are removed. - while (s != null && s.item == null) + while (s != null && s.item == null) { s = nextNode(s); + } next = s; } - nextItem = (next == null) ? null : next.item; + nextItem = next == null ? null : next.item; } finally { lock.unlock(); } @@ -1201,8 +1256,9 @@ class LinkedBlockingDeque<E> extends Abs @Override public E next() { - if (next == null) + if (next == null) { throw new NoSuchElementException(); + } lastRet = next; E x = nextItem; advance(); @@ -1212,13 +1268,15 @@ class LinkedBlockingDeque<E> extends Abs @Override public void remove() { Node<E> n = lastRet; - if (n == null) + if (n == null) { throw new IllegalStateException(); + } lastRet = null; lock.lock(); try { - if (n.item != null) + if (n.item != null) { unlink(n); + } } finally { lock.unlock(); } @@ -1255,8 +1313,9 @@ class LinkedBlockingDeque<E> extends Abs // Write out capacity and any hidden stuff s.defaultWriteObject(); // Write out all elements in the proper order. - for (Node<E> p = first; p != null; p = p.next) + for (Node<E> p = first; p != null; p = p.next) { s.writeObject(p.item); + } // Use trailing null as sentinel s.writeObject(null); } finally { @@ -1279,8 +1338,9 @@ class LinkedBlockingDeque<E> extends Abs for (;;) { @SuppressWarnings("unchecked") E item = (E)s.readObject(); - if (item == null) + if (item == null) { break; + } add(item); } } 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=1627007&r1=1627006&r2=1627007&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 Tue Sep 23 13:18:22 2014 @@ -53,10 +53,11 @@ public class SoftReferenceObjectPool<T> private int numActive = 0; // @GuardedBy("this") /** Total number of instances that have been destroyed */ - private long destroyCount = 0; + private long destroyCount = 0; // @GuardedBy("this") + /** Total number of instances that have been created */ - private long createCount = 0; + private long createCount = 0; // @GuardedBy("this") /** Idle references - waiting to be borrowed */ private final LinkedBlockingDeque<PooledSoftReference<T>> idleReferences = --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org