Author: markt Date: Mon Apr 30 22:00:13 2012 New Revision: 1332433 URL: http://svn.apache.org/viewvc?rev=1332433&view=rev Log: GOP & GKOP - expose remaining attribute getters via JMX GKOP - expose list of keys via JMX
Modified: commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPool.java commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPoolMBean.java commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericObjectPoolMBean.java Modified: commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPool.java URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPool.java?rev=1332433&r1=1332432&r2=1332433&view=diff ============================================================================== --- commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPool.java (original) +++ commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPool.java Mon Apr 30 22:00:13 2012 @@ -1458,6 +1458,7 @@ public class GenericKeyedObjectPool<K,T> * @return An estimate of the number of threads currently blocked waiting * for an object from the pool */ + @Override public int getNumWaiters() { int result = 0; @@ -1481,6 +1482,7 @@ public class GenericKeyedObjectPool<K,T> * @return An estimate of the number of threads currently blocked waiting * for an object from the pool for the given key */ + @Override public int getNumWaiters(K key) { if (getBlockWhenExhausted()) { final ObjectDeque<T> objectDeque = poolMap.get(key); @@ -1495,6 +1497,19 @@ public class GenericKeyedObjectPool<K,T> } @Override + public List<K> getKeys() { + List<K> keyCopy = new ArrayList<K>(); + Lock lock = keyLock.readLock(); + lock.lock(); + try { + keyCopy.addAll(poolKeyList); + } finally { + lock.unlock(); + } + return keyCopy; + } + + @Override public ObjectName getJmxName() { return oname; } Modified: commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPoolMBean.java URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPoolMBean.java?rev=1332433&r1=1332432&r2=1332433&view=diff ============================================================================== --- commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPoolMBean.java (original) +++ commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericKeyedObjectPoolMBean.java Mon Apr 30 22:00:13 2012 @@ -16,6 +16,7 @@ */ package org.apache.commons.pool2.impl; +import java.util.List; import java.util.Map; /** @@ -56,4 +57,7 @@ public interface GenericKeyedObjectPoolM long getMaxBorrowWaitTimeMillis(); String[] getSwallowedExceptions(); String getCreationStackTrace(); + int getNumWaiters(); + int getNumWaiters(K key); + List<K> getKeys(); } Modified: commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java?rev=1332433&r1=1332432&r2=1332433&view=diff ============================================================================== --- commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java (original) +++ commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericObjectPool.java Mon Apr 30 22:00:13 2012 @@ -899,6 +899,7 @@ public class GenericObjectPool<T> extend * @return An estimate of the number of threads currently blocked waiting * for an object from the pool */ + @Override public int getNumWaiters() { if (getBlockWhenExhausted()) { return idleObjects.getTakeQueueLength(); Modified: commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericObjectPoolMBean.java URL: http://svn.apache.org/viewvc/commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericObjectPoolMBean.java?rev=1332433&r1=1332432&r2=1332433&view=diff ============================================================================== --- commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericObjectPoolMBean.java (original) +++ commons/proper/pool/trunk/src/main/java/org/apache/commons/pool2/impl/GenericObjectPoolMBean.java Mon Apr 30 22:00:13 2012 @@ -52,4 +52,5 @@ public interface GenericObjectPoolMBean long getMaxBorrowWaitTimeMillis(); String[] getSwallowedExceptions(); String getCreationStackTrace(); + int getNumWaiters(); }