[jboss-cvs] JBossAS SVN: r111160 - in projects/jboss-jca/trunk: core/src/main/java/org/jboss/jca/core/connectionmanager/pool and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Apr 11 15:03:11 EDT 2011
Author: jesper.pedersen
Date: 2011-04-11 15:03:11 -0400 (Mon, 11 Apr 2011)
New Revision: 111160
Modified:
projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/connectionmanager/pool/PoolStatistics.java
projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/SubPoolStatistics.java
projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/ManagedConnectionPoolStatisticsImpl.java
projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/SemaphoreArrayListManagedConnectionPool.java
projects/jboss-jca/trunk/core/src/main/resources/poolstatistics.properties
projects/jboss-jca/trunk/core/src/test/java/org/jboss/jca/core/connectionmanager/pool/OnePoolTestCase.java
projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java
Log:
[JBJCA-545] MaxUsedCount for pool statistics
Modified: projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/connectionmanager/pool/PoolStatistics.java
===================================================================
--- projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/connectionmanager/pool/PoolStatistics.java 2011-04-11 18:18:44 UTC (rev 111159)
+++ projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/api/connectionmanager/pool/PoolStatistics.java 2011-04-11 19:03:11 UTC (rev 111160)
@@ -55,6 +55,12 @@
public int getDestroyedCount();
/**
+ * Get max used count
+ * @return The value
+ */
+ public int getMaxUsedCount();
+
+ /**
* Get max wait time (milliseconds)
* @return The value
*/
Modified: projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/SubPoolStatistics.java
===================================================================
--- projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/SubPoolStatistics.java 2011-04-11 18:18:44 UTC (rev 111159)
+++ projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/SubPoolStatistics.java 2011-04-11 19:03:11 UTC (rev 111160)
@@ -45,6 +45,7 @@
private static final String AVERAGE_BLOCKING_TIME = "AverageBlockingTime";
private static final String CREATED_COUNT = "CreatedCount";
private static final String DESTROYED_COUNT = "DestroyedCount";
+ private static final String MAX_USED_COUNT = "MaxUsedCount";
private static final String MAX_WAIT_TIME = "MaxWaitTime";
private static final String TIMED_OUT = "TimedOut";
private static final String TOTAL_BLOCKING_TIME = "TotalBlockingTime";
@@ -78,6 +79,9 @@
n.add(DESTROYED_COUNT);
t.put(DESTROYED_COUNT, int.class);
+ n.add(MAX_USED_COUNT);
+ t.put(MAX_USED_COUNT, int.class);
+
n.add(MAX_WAIT_TIME);
t.put(MAX_WAIT_TIME, long.class);
@@ -171,6 +175,10 @@
{
return getDestroyedCount();
}
+ else if (MAX_USED_COUNT.equals(name))
+ {
+ return getMaxUsedCount();
+ }
else if (MAX_WAIT_TIME.equals(name))
{
return getMaxWaitTime();
@@ -279,6 +287,29 @@
}
/**
+ * Get max used count
+ * @return The value
+ */
+ public int getMaxUsedCount()
+ {
+ if (isEnabled())
+ {
+ int result = Integer.MIN_VALUE;
+
+ for (SubPoolContext spc : subPools.values())
+ {
+ int v = spc.getSubPool().getStatistics().getMaxUsedCount();
+ if (v > result)
+ result = v;
+ }
+
+ return result != Integer.MIN_VALUE ? result : 0;
+ }
+
+ return 0;
+ }
+
+ /**
* {@inheritDoc}
*/
public long getMaxWaitTime()
Modified: projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/ManagedConnectionPoolStatisticsImpl.java
===================================================================
--- projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/ManagedConnectionPoolStatisticsImpl.java 2011-04-11 18:18:44 UTC (rev 111159)
+++ projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/ManagedConnectionPoolStatisticsImpl.java 2011-04-11 19:03:11 UTC (rev 111160)
@@ -44,6 +44,7 @@
private static final String AVERAGE_BLOCKING_TIME = "AverageBlockingTime";
private static final String CREATED_COUNT = "CreatedCount";
private static final String DESTROYED_COUNT = "DestroyedCount";
+ private static final String MAX_USED_COUNT = "MaxUsedCount";
private static final String MAX_WAIT_TIME = "MaxWaitTime";
private static final String TIMED_OUT = "TimedOut";
private static final String TOTAL_BLOCKING_TIME = "TotalBlockingTime";
@@ -56,6 +57,7 @@
private AtomicLong totalBlockingTime;
private AtomicInteger createdCount;
private AtomicInteger destroyedCount;
+ private AtomicInteger maxUsedCount;
private AtomicLong maxWaitTime;
private AtomicInteger timedOut;
@@ -79,6 +81,9 @@
n.add(DESTROYED_COUNT);
t.put(DESTROYED_COUNT, int.class);
+ n.add(MAX_USED_COUNT);
+ t.put(MAX_USED_COUNT, int.class);
+
n.add(MAX_WAIT_TIME);
t.put(MAX_WAIT_TIME, long.class);
@@ -101,6 +106,7 @@
this.totalBlockingTime = new AtomicLong(0);
this.createdCount = new AtomicInteger(0);
this.destroyedCount = new AtomicInteger(0);
+ this.maxUsedCount = new AtomicInteger(Integer.MIN_VALUE);
this.maxWaitTime = new AtomicLong(Long.MIN_VALUE);
this.timedOut = new AtomicInteger(0);
@@ -273,6 +279,31 @@
}
/**
+ * Get max used count
+ * @return The value
+ */
+ public int getMaxUsedCount()
+ {
+ if (isEnabled())
+ return maxUsedCount.get() != Integer.MIN_VALUE ? maxUsedCount.get() : 0;
+
+ return 0;
+ }
+
+ /**
+ * Set max used count
+ * @param v The value
+ */
+ public void setMaxUsedCount(int v)
+ {
+ if (isEnabled())
+ {
+ if (v > maxUsedCount.get())
+ maxUsedCount.set(v);
+ }
+ }
+
+ /**
* {@inheritDoc}
*/
public long getMaxWaitTime()
Modified: projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/SemaphoreArrayListManagedConnectionPool.java
===================================================================
--- projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/SemaphoreArrayListManagedConnectionPool.java 2011-04-11 18:18:44 UTC (rev 111159)
+++ projects/jboss-jca/trunk/core/src/main/java/org/jboss/jca/core/connectionmanager/pool/mcp/SemaphoreArrayListManagedConnectionPool.java 2011-04-11 19:03:11 UTC (rev 111160)
@@ -113,15 +113,9 @@
/** The checked out connections */
private HashSet<ConnectionListener> checkedOut = new HashSet<ConnectionListener>();
- /** Whether the pool has been started */
- private AtomicBoolean started = new AtomicBoolean(false);
-
/** Whether the pool has been shutdown */
private AtomicBoolean shutdown = new AtomicBoolean(false);
- /** the max connections ever checked out **/
- private volatile int maxUsedConnections = 0;
-
/** Statistics */
private ManagedConnectionPoolStatisticsImpl statistics;
@@ -274,9 +268,7 @@
{
cl = cls.remove(clsSize - 1);
checkedOut.add(cl);
- int size = maxSize - permits.availablePermits();
- if (size > maxUsedConnections)
- maxUsedConnections = size;
+ statistics.setMaxUsedCount(maxSize - permits.availablePermits());
}
}
if (cl != null)
@@ -347,17 +339,9 @@
synchronized (cls)
{
checkedOut.add(cl);
- int size = maxSize - permits.availablePermits();
- if (size > maxUsedConnections)
- maxUsedConnections = size;
+ statistics.setMaxUsedCount(maxSize - permits.availablePermits());
}
- if (!started.getAndSet(true))
- {
- if (poolConfiguration.getMinSize() > 0)
- PoolFiller.fillPool(this);
- }
-
if (trace)
log.trace("supplying new ManagedConnection: " + cl);
Modified: projects/jboss-jca/trunk/core/src/main/resources/poolstatistics.properties
===================================================================
--- projects/jboss-jca/trunk/core/src/main/resources/poolstatistics.properties 2011-04-11 18:18:44 UTC (rev 111159)
+++ projects/jboss-jca/trunk/core/src/main/resources/poolstatistics.properties 2011-04-11 19:03:11 UTC (rev 111160)
@@ -2,6 +2,7 @@
AverageBlockingTime=The average time spent blocking for a connection
CreatedCount=The created count
DestroyedCount=The destroyed count
+MaxUsedCount=The maximum number of connections used
MaxWaitTime=The maximum wait time for a connection
TimedOut=The timed out count
TotalBlockingTime=The total blocking time
Modified: projects/jboss-jca/trunk/core/src/test/java/org/jboss/jca/core/connectionmanager/pool/OnePoolTestCase.java
===================================================================
--- projects/jboss-jca/trunk/core/src/test/java/org/jboss/jca/core/connectionmanager/pool/OnePoolTestCase.java 2011-04-11 18:18:44 UTC (rev 111159)
+++ projects/jboss-jca/trunk/core/src/test/java/org/jboss/jca/core/connectionmanager/pool/OnePoolTestCase.java 2011-04-11 19:03:11 UTC (rev 111160)
@@ -22,8 +22,6 @@
package org.jboss.jca.core.connectionmanager.pool;
import org.jboss.jca.core.api.connectionmanager.pool.PoolConfiguration;
-import org.jboss.jca.core.connectionmanager.ConnectionManagerFactory;
-import org.jboss.jca.core.connectionmanager.NoTxConnectionManager;
import org.jboss.jca.core.connectionmanager.listener.ConnectionListener;
import org.jboss.jca.core.connectionmanager.pool.mcp.ManagedConnectionPool;
import org.jboss.jca.core.connectionmanager.pool.strategy.OnePool;
Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java 2011-04-11 18:18:44 UTC (rev 111159)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java 2011-04-11 19:03:11 UTC (rev 111160)
@@ -48,7 +48,6 @@
import org.jboss.jca.core.connectionmanager.ConnectionManager;
import org.jboss.jca.core.connectionmanager.ConnectionManagerFactory;
import org.jboss.jca.core.connectionmanager.pool.api.Pool;
-import org.jboss.jca.core.connectionmanager.pool.api.Pool;
import org.jboss.jca.core.connectionmanager.pool.api.PoolFactory;
import org.jboss.jca.core.connectionmanager.pool.api.PoolStrategy;
import org.jboss.jca.core.connectionmanager.pool.api.PrefillPool;
More information about the jboss-cvs-commits
mailing list