You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ps...@apache.org on 2014/03/23 21:31:37 UTC

svn commit: r1580595 [2/2] - in /commons/sandbox/performance/trunk: ./ src/java/org/apache/commons/performance/ src/java/org/apache/commons/performance/dbcp/ src/java/org/apache/commons/performance/pool/ src/pool/ src/test/org/apache/commons/performanc...

Modified: commons/sandbox/performance/trunk/src/java/org/apache/commons/performance/pool/PoolSoak.java
URL: http://svn.apache.org/viewvc/commons/sandbox/performance/trunk/src/java/org/apache/commons/performance/pool/PoolSoak.java?rev=1580595&r1=1580594&r2=1580595&view=diff
==============================================================================
--- commons/sandbox/performance/trunk/src/java/org/apache/commons/performance/pool/PoolSoak.java (original)
+++ commons/sandbox/performance/trunk/src/java/org/apache/commons/performance/pool/PoolSoak.java Sun Mar 23 20:31:36 2014
@@ -18,26 +18,27 @@
 package org.apache.commons.performance.pool;
 
 import java.util.logging.Logger;
+
 import org.apache.commons.dbcp.AbandonedConfig;
 import org.apache.commons.dbcp.AbandonedObjectPool;
-import org.apache.commons.pool.impl.StackObjectPool;
-import org.apache.commons.pool.impl.SoftReferenceObjectPool;
-import org.apache.commons.pool.impl.StackKeyedObjectPool;
-import org.apache.commons.performance.ConfigurationException;
 import org.apache.commons.performance.ClientThread;
+import org.apache.commons.performance.ConfigurationException;
 import org.apache.commons.performance.LoadGenerator;
 import org.apache.commons.performance.Statistics;
-import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
+import org.apache.commons.pool.impl.SoftReferenceObjectPool;
+import org.apache.commons.pool.impl.StackKeyedObjectPool;
+import org.apache.commons.pool.impl.StackObjectPool;
 import org.apache.commons.pool2.impl.GenericKeyedObjectPoolConfig;
- 
+import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
+
 /**
- * Configurable load / performance tester for commons pool.
- * Uses Commons Digester to parse and load configuration and spawns
- * PoolClientThread instances to generate load and gather statistics.
- *
+ * Configurable load / performance tester for commons pool. Uses Commons Digester to parse and load
+ * configuration and spawns PoolClientThread instances to generate load and gather statistics.
+ * 
  */
-public class PoolSoak extends LoadGenerator {
-    
+public class PoolSoak
+    extends LoadGenerator {
+
     // Pool instances
     private org.apache.commons.pool.impl.GenericObjectPool genericObjectPool;
     private org.apache.commons.pool.impl.GenericKeyedObjectPool genericKeyedObjectPool;
@@ -46,10 +47,10 @@ public class PoolSoak extends LoadGenera
     private StackObjectPool stackObjectPool;
     private SoftReferenceObjectPool softReferenceObjectPool;
     private StackKeyedObjectPool stackKeyedObjectPool;
-    
+
     // Pool properties
     private String poolType;
-    private int maxActive;       // maxActive for GOP, maxTotal for GKOP
+    private int maxActive; // maxActive for GOP, maxTotal for GKOP
     private int maxActivePerKey; // maxActive for GKOP
     private int maxIdle;
     private int minIdle;
@@ -64,7 +65,7 @@ public class PoolSoak extends LoadGenera
     private AbandonedConfig abandonedConfig = new AbandonedConfig();
     private boolean lifo;
     private double samplingRate;
-    
+
     // WaiterFactory properties
     private long activateLatency;
     private long destroyLatency;
@@ -73,87 +74,62 @@ public class PoolSoak extends LoadGenera
     private long validateLatency;
     private long waiterLatency;
     private double passivateInvalidationProbability;
-    
+
     /**
-     * Add pool configuration to parameters loaded by super.
-     * Also set config file name.
+     * Add pool configuration to parameters loaded by super. Also set config file name.
      */
-    protected void configure() throws Exception {
+    @Override
+    protected void configure()
+        throws Exception {
         super.configure();
-        digester.addCallMethod("configuration/factory", 
-                "configureFactory", 7);
-        digester.addCallParam(
-                "configuration/factory/activate-latency", 0);
-        digester.addCallParam(
-                "configuration/factory/destroy-latency", 1);
-        digester.addCallParam(
-                "configuration/factory/make-latency", 2);
-        digester.addCallParam(
-                "configuration/factory/passivate-latency", 3);
-        digester.addCallParam(
-                "configuration/factory/validate-latency", 4);
-        digester.addCallParam(
-                "configuration/factory/waiter-latency", 5); 
-        digester.addCallParam(
-                "configuration/factory/passivate-invalidation-probability", 6);    
-        digester.addCallMethod("configuration/pool", 
-                "configurePool", 15);
-        digester.addCallParam(
-                "configuration/pool/max-active", 0);
-        digester.addCallParam(
-                "configuration/pool/max-active-per-key", 1);
-        digester.addCallParam(
-                "configuration/pool/max-idle", 2);
-        digester.addCallParam(
-                "configuration/pool/min-idle", 3);
-        digester.addCallParam(
-                "configuration/pool/max-wait", 4);
-        digester.addCallParam(
-                "configuration/pool/exhausted-action", 5);
-        digester.addCallParam(
-                "configuration/pool/test-on-borrow", 6);
-        digester.addCallParam(
-                "configuration/pool/test-on-return", 7);
-        digester.addCallParam(
-                "configuration/pool/time-between-evictions", 8);
-        digester.addCallParam(
-                "configuration/pool/tests-per-eviction", 9);
-        digester.addCallParam(
-                "configuration/pool/idle-timeout", 10);
-        digester.addCallParam(
-                "configuration/pool/test-while-idle", 11);
-        digester.addCallParam(
-                "configuration/pool/lifo", 12);
-        digester.addCallParam(
-                "configuration/pool/type", 13);
-        digester.addCallParam(
-                "configuration/pool/sampling-rate", 14);
-        digester.addCallMethod("configuration/abandoned-config",
-                "configureAbandonedConfig", 3);
-        digester.addCallParam(
-                "configuration/abandoned-config/log-abandoned", 0);
-        digester.addCallParam(
-                "configuration/abandoned-config/remove-abandoned", 1);
-        digester.addCallParam(
-                "configuration/abandoned-config/abandoned-timeout", 2); 
-        
+        digester.addCallMethod("configuration/factory", "configureFactory", 7);
+        digester.addCallParam("configuration/factory/activate-latency", 0);
+        digester.addCallParam("configuration/factory/destroy-latency", 1);
+        digester.addCallParam("configuration/factory/make-latency", 2);
+        digester.addCallParam("configuration/factory/passivate-latency", 3);
+        digester.addCallParam("configuration/factory/validate-latency", 4);
+        digester.addCallParam("configuration/factory/waiter-latency", 5);
+        digester.addCallParam("configuration/factory/passivate-invalidation-probability", 6);
+        digester.addCallMethod("configuration/pool", "configurePool", 15);
+        digester.addCallParam("configuration/pool/max-active", 0);
+        digester.addCallParam("configuration/pool/max-active-per-key", 1);
+        digester.addCallParam("configuration/pool/max-idle", 2);
+        digester.addCallParam("configuration/pool/min-idle", 3);
+        digester.addCallParam("configuration/pool/max-wait", 4);
+        digester.addCallParam("configuration/pool/exhausted-action", 5);
+        digester.addCallParam("configuration/pool/test-on-borrow", 6);
+        digester.addCallParam("configuration/pool/test-on-return", 7);
+        digester.addCallParam("configuration/pool/time-between-evictions", 8);
+        digester.addCallParam("configuration/pool/tests-per-eviction", 9);
+        digester.addCallParam("configuration/pool/idle-timeout", 10);
+        digester.addCallParam("configuration/pool/test-while-idle", 11);
+        digester.addCallParam("configuration/pool/lifo", 12);
+        digester.addCallParam("configuration/pool/type", 13);
+        digester.addCallParam("configuration/pool/sampling-rate", 14);
+        digester.addCallMethod("configuration/abandoned-config", "configureAbandonedConfig", 3);
+        digester.addCallParam("configuration/abandoned-config/log-abandoned", 0);
+        digester.addCallParam("configuration/abandoned-config/remove-abandoned", 1);
+        digester.addCallParam("configuration/abandoned-config/abandoned-timeout", 2);
+
         this.configFile = "config-pool.xml";
-        
+
     }
-    
+
     /**
      * Create object pool and factory
      */
-    protected void init() throws Exception {
+    @Override
+    protected void init()
+        throws Exception {
         // Create factory
-        WaiterFactory factory = new WaiterFactory(activateLatency, destroyLatency,
-                makeLatency, passivateLatency, validateLatency, waiterLatency,
-                maxActive, maxActivePerKey, passivateInvalidationProbability); 
-        
-        WaiterFactory2 factory2 = new WaiterFactory2(activateLatency, destroyLatency,
-                makeLatency, passivateLatency, validateLatency, waiterLatency,
-                maxActive, maxActivePerKey, passivateInvalidationProbability); 
-        
+        WaiterFactory factory = new WaiterFactory(activateLatency, destroyLatency, makeLatency, passivateLatency,
+                                                  validateLatency, waiterLatency, maxActive, maxActivePerKey,
+                                                  passivateInvalidationProbability);
+
+        WaiterFactory2 factory2 = new WaiterFactory2(activateLatency, destroyLatency, makeLatency, passivateLatency,
+                                                     validateLatency, waiterLatency, maxActive, maxActivePerKey,
+                                                     passivateInvalidationProbability);
+
         // Create object pool
         if (poolType.equals("GenericObjectPool")) {
             genericObjectPool = new org.apache.commons.pool.impl.GenericObjectPool(factory);
@@ -164,17 +140,16 @@ public class PoolSoak extends LoadGenera
             genericObjectPool.setMinIdle(minIdle);
             genericObjectPool.setTestOnBorrow(testOnBorrow);
             genericObjectPool.setTestOnReturn(testOnReturn);
-            genericObjectPool.setTimeBetweenEvictionRunsMillis(
-                    timeBetweenEvictions);
+            genericObjectPool.setTimeBetweenEvictionRunsMillis(timeBetweenEvictions);
             genericObjectPool.setNumTestsPerEvictionRun(testsPerEviction);
             genericObjectPool.setMinEvictableIdleTimeMillis(idleTimeout);
             genericObjectPool.setTestWhileIdle(testWhileIdle);
             genericObjectPool.setLifo(lifo);
         } else if (poolType.equals("GenericObjectPool2")) {
             GenericObjectPoolConfig config = new GenericObjectPoolConfig();
-            config.setBlockWhenExhausted(
-                    exhaustedAction == org.apache.commons.pool.impl.GenericObjectPool.WHEN_EXHAUSTED_BLOCK ?
-                            true : false);
+            config
+                .setBlockWhenExhausted(exhaustedAction == org.apache.commons.pool.impl.GenericObjectPool.WHEN_EXHAUSTED_BLOCK
+                    ? true : false);
             config.setMaxIdle(maxIdle);
             config.setMinIdle(minIdle);
             config.setMaxWaitMillis(maxWait);
@@ -186,10 +161,9 @@ public class PoolSoak extends LoadGenera
             config.setMinEvictableIdleTimeMillis(idleTimeout);
             config.setLifo(lifo);
             config.setMaxTotal(maxActive);
-            genericObjectPool2 =
-                new org.apache.commons.pool2.impl.GenericObjectPool<Waiter>(factory2, config);
+            genericObjectPool2 = new org.apache.commons.pool2.impl.GenericObjectPool<Waiter>(factory2, config);
         } else if (poolType.equals("AbandonedObjectPool")) {
-            genericObjectPool = new AbandonedObjectPool(factory,abandonedConfig);
+            genericObjectPool = new AbandonedObjectPool(factory, abandonedConfig);
             genericObjectPool.setMaxActive(maxActive);
             genericObjectPool.setWhenExhaustedAction(exhaustedAction);
             genericObjectPool.setMaxWait(maxWait);
@@ -197,8 +171,7 @@ public class PoolSoak extends LoadGenera
             genericObjectPool.setMinIdle(minIdle);
             genericObjectPool.setTestOnBorrow(testOnBorrow);
             genericObjectPool.setTestOnReturn(testOnReturn);
-            genericObjectPool.setTimeBetweenEvictionRunsMillis(
-                    timeBetweenEvictions);
+            genericObjectPool.setTimeBetweenEvictionRunsMillis(timeBetweenEvictions);
             genericObjectPool.setNumTestsPerEvictionRun(testsPerEviction);
             genericObjectPool.setMinEvictableIdleTimeMillis(idleTimeout);
             genericObjectPool.setTestWhileIdle(testWhileIdle);
@@ -213,8 +186,7 @@ public class PoolSoak extends LoadGenera
             genericKeyedObjectPool.setMinIdle(minIdle);
             genericKeyedObjectPool.setTestOnBorrow(testOnBorrow);
             genericKeyedObjectPool.setTestOnReturn(testOnReturn);
-            genericKeyedObjectPool.setTimeBetweenEvictionRunsMillis(
-                    timeBetweenEvictions);
+            genericKeyedObjectPool.setTimeBetweenEvictionRunsMillis(timeBetweenEvictions);
             genericKeyedObjectPool.setNumTestsPerEvictionRun(testsPerEviction);
             genericKeyedObjectPool.setMinEvictableIdleTimeMillis(idleTimeout);
             genericKeyedObjectPool.setTestWhileIdle(testWhileIdle);
@@ -223,9 +195,9 @@ public class PoolSoak extends LoadGenera
             GenericKeyedObjectPoolConfig config = new GenericKeyedObjectPoolConfig();
             config.setMaxTotal(maxActive);
             config.setMaxTotalPerKey(maxActivePerKey);
-            config.setBlockWhenExhausted(
-                    exhaustedAction == org.apache.commons.pool.impl.GenericObjectPool.WHEN_EXHAUSTED_BLOCK ?
-                            true : false);
+            config
+                .setBlockWhenExhausted(exhaustedAction == org.apache.commons.pool.impl.GenericObjectPool.WHEN_EXHAUSTED_BLOCK
+                    ? true : false);
             config.setMaxWaitMillis(maxWait);
             config.setMaxIdlePerKey(maxIdle);
             config.setMinIdlePerKey(minIdle);
@@ -236,8 +208,9 @@ public class PoolSoak extends LoadGenera
             config.setMinEvictableIdleTimeMillis(idleTimeout);
             config.setTestWhileIdle(testWhileIdle);
             config.setLifo(lifo);
-            genericKeyedObjectPool2 = 
-                new org.apache.commons.pool2.impl.GenericKeyedObjectPool<Integer, Waiter>(factory2, config);
+            genericKeyedObjectPool2 = new org.apache.commons.pool2.impl.GenericKeyedObjectPool<Integer, Waiter>(
+                                                                                                                factory2,
+                                                                                                                config);
         } else if (poolType.equals("StackObjectPool")) {
             stackObjectPool = new StackObjectPool(factory);
         } else if (poolType.equals("SoftReferenceObjectPool")) {
@@ -245,17 +218,18 @@ public class PoolSoak extends LoadGenera
         } else if (poolType.equals("StackKeyedObjectPool")) {
             stackKeyedObjectPool = new StackKeyedObjectPool(factory);
         } else {
-            throw new ConfigurationException(
-                    "invalid pool type configuration: " + poolType);
+            throw new ConfigurationException("invalid pool type configuration: " + poolType);
         }
-      
+
         logger.info(displayConfig());
     }
-    
+
     /**
      * Close object pool
      */
-    protected void cleanUp() throws Exception {
+    @Override
+    protected void cleanUp()
+        throws Exception {
         if (genericObjectPool != null) {
             genericObjectPool.close();
         }
@@ -278,84 +252,71 @@ public class PoolSoak extends LoadGenera
             stackKeyedObjectPool.close();
         }
     }
-    
+
     /**
      * Create and return a PoolClientThread
      */
-    protected ClientThread makeClientThread(long iterations, long minDelay,
-            long maxDelay, double sigma, String delayType, long rampPeriod,
-            long peakPeriod, long troughPeriod, String cycleType, 
-            String rampType, Logger logger, Statistics stats) {
+    @Override
+    protected ClientThread makeClientThread(long iterations, long minDelay, long maxDelay, double sigma,
+        String delayType, long rampPeriod, long peakPeriod, long troughPeriod, String cycleType, String rampType,
+        Logger logger, Statistics stats) {
         if (poolType.equals("GenericObjectPool")) {
-            return new PoolClientThread(iterations, minDelay, maxDelay,
-                    sigma, delayType, rampPeriod, peakPeriod, troughPeriod,
-                    cycleType, rampType, logger, stats, genericObjectPool, 
-                    samplingRate);
+            return new PoolClientThread(iterations, minDelay, maxDelay, sigma, delayType, rampPeriod, peakPeriod,
+                                        troughPeriod, cycleType, rampType, logger, stats, genericObjectPool,
+                                        samplingRate);
         }
         if (poolType.equals("GenericKeyedObjectPool")) {
-            return new PoolClientThread(iterations, minDelay, maxDelay,
-                    sigma, delayType, rampPeriod, peakPeriod, troughPeriod,
-                    cycleType, rampType, logger, stats,
-                    genericKeyedObjectPool, samplingRate);
+            return new PoolClientThread(iterations, minDelay, maxDelay, sigma, delayType, rampPeriod, peakPeriod,
+                                        troughPeriod, cycleType, rampType, logger, stats, genericKeyedObjectPool,
+                                        samplingRate);
         }
         if (poolType.equals("GenericObjectPool2")) {
-            return new PoolClientThread(iterations, minDelay, maxDelay,
-                    sigma, delayType, rampPeriod, peakPeriod, troughPeriod,
-                    cycleType, rampType, logger, stats, genericObjectPool2, 
-                    samplingRate);
+            return new PoolClientThread(iterations, minDelay, maxDelay, sigma, delayType, rampPeriod, peakPeriod,
+                                        troughPeriod, cycleType, rampType, logger, stats, genericObjectPool2,
+                                        samplingRate);
         }
         if (poolType.equals("GenericKeyedObjectPool2")) {
-            return new PoolClientThread(iterations, minDelay, maxDelay,
-                    sigma, delayType, rampPeriod, peakPeriod, troughPeriod,
-                    cycleType, rampType, logger, stats,
-                    genericKeyedObjectPool2, samplingRate);
+            return new PoolClientThread(iterations, minDelay, maxDelay, sigma, delayType, rampPeriod, peakPeriod,
+                                        troughPeriod, cycleType, rampType, logger, stats, genericKeyedObjectPool2,
+                                        samplingRate);
         }
         if (poolType.equals("StackKeyedObjectPool")) {
-            return new PoolClientThread(iterations, minDelay, maxDelay,
-                    sigma, delayType, rampPeriod, peakPeriod, troughPeriod,
-                    cycleType, rampType, logger, stats,
-                    stackKeyedObjectPool, samplingRate);
+            return new PoolClientThread(iterations, minDelay, maxDelay, sigma, delayType, rampPeriod, peakPeriod,
+                                        troughPeriod, cycleType, rampType, logger, stats, stackKeyedObjectPool,
+                                        samplingRate);
         }
         if (poolType.equals("StackObjectPool")) {
-            return new PoolClientThread(iterations, minDelay, maxDelay,
-                    sigma, delayType, rampPeriod, peakPeriod, troughPeriod,
-                    cycleType, rampType, logger, stats,
-                    stackObjectPool, samplingRate);
+            return new PoolClientThread(iterations, minDelay, maxDelay, sigma, delayType, rampPeriod, peakPeriod,
+                                        troughPeriod, cycleType, rampType, logger, stats, stackObjectPool, samplingRate);
         }
         if (poolType.equals("SoftReferenceObjectPool")) {
-            return new PoolClientThread(iterations, minDelay, maxDelay,
-                    sigma, delayType, rampPeriod, peakPeriod, troughPeriod,
-                    cycleType, rampType, logger, stats,
-                    softReferenceObjectPool, samplingRate);
+            return new PoolClientThread(iterations, minDelay, maxDelay, sigma, delayType, rampPeriod, peakPeriod,
+                                        troughPeriod, cycleType, rampType, logger, stats, softReferenceObjectPool,
+                                        samplingRate);
         }
         return null;
     }
-    
+
     // ------------------------------------------------------------------------
     // Configuration methods specific to this LoadGenerator invoked by Digester
     // when superclass execute calls digester.parse.
-    // ------------------------------------------------------------------------       
-    public void configureFactory(String activateLatency, String destroyLatency,
-            String makeLatency, String passivateLatency, String validateLatency,
-            String waiterLatency, String passivateInvalidationProbability) {
-       
+    // ------------------------------------------------------------------------
+    public void configureFactory(String activateLatency, String destroyLatency, String makeLatency,
+        String passivateLatency, String validateLatency, String waiterLatency, String passivateInvalidationProbability) {
+
         this.activateLatency = Long.parseLong(activateLatency);
         this.destroyLatency = Long.parseLong(destroyLatency);
         this.makeLatency = Long.parseLong(makeLatency);
         this.passivateLatency = Long.parseLong(passivateLatency);
         this.validateLatency = Long.parseLong(validateLatency);
         this.waiterLatency = Long.parseLong(waiterLatency);
-        this.passivateInvalidationProbability = 
-            Double.parseDouble(passivateInvalidationProbability);
+        this.passivateInvalidationProbability = Double.parseDouble(passivateInvalidationProbability);
     }
-    
-    public void configurePool(String maxActive, String maxActivePerKey,
-            String maxIdle, String minIdle, String maxWait,
-            String exhaustedAction, String testOnBorrow,
-            String testOnReturn, String timeBetweenEvictions,
-            String testsPerEviction, String idleTimeout, 
-            String testWhileIdle, String lifo, String type, String samplingRate)
-        throws ConfigurationException { 
+
+    public void configurePool(String maxActive, String maxActivePerKey, String maxIdle, String minIdle, String maxWait,
+        String exhaustedAction, String testOnBorrow, String testOnReturn, String timeBetweenEvictions,
+        String testsPerEviction, String idleTimeout, String testWhileIdle, String lifo, String type, String samplingRate)
+        throws ConfigurationException {
         this.maxActive = Integer.parseInt(maxActive);
         this.maxActivePerKey = Integer.parseInt(maxActivePerKey);
         this.maxIdle = Integer.parseInt(maxIdle);
@@ -375,32 +336,27 @@ public class PoolSoak extends LoadGenera
             this.exhaustedAction = org.apache.commons.pool.impl.GenericObjectPool.WHEN_EXHAUSTED_FAIL;
         } else if (exhaustedAction.equals("grow")) {
             this.exhaustedAction = org.apache.commons.pool.impl.GenericObjectPool.WHEN_EXHAUSTED_GROW;
-        } else { 
-            throw new ConfigurationException(
-            "Bad configuration setting for exhausted action: "
-                    + exhaustedAction); 
-        }  
+        } else {
+            throw new ConfigurationException("Bad configuration setting for exhausted action: " + exhaustedAction);
+        }
         this.samplingRate = Double.parseDouble(samplingRate);
     }
-    
-    public void configureAbandonedConfig(String logAbandoned,
-            String removeAbandoned, String abandonedTimeout) {
+
+    public void configureAbandonedConfig(String logAbandoned, String removeAbandoned, String abandonedTimeout) {
         abandonedConfig.setLogAbandoned(Boolean.parseBoolean(logAbandoned));
-        abandonedConfig.setRemoveAbandoned(
-                Boolean.parseBoolean(removeAbandoned));
-        abandonedConfig.setRemoveAbandonedTimeout(
-                Integer.parseInt(abandonedTimeout));
+        abandonedConfig.setRemoveAbandoned(Boolean.parseBoolean(removeAbandoned));
+        abandonedConfig.setRemoveAbandonedTimeout(Integer.parseInt(abandonedTimeout));
     }
-    
+
     // Pool getters for unit tests
     protected org.apache.commons.pool.impl.GenericObjectPool getGenericObjectPool() {
         return genericObjectPool;
     }
-    
+
     protected org.apache.commons.pool.impl.GenericKeyedObjectPool getGenericKeyedObjectPool() {
         return genericKeyedObjectPool;
     }
-    
+
     public String displayConfig() {
         StringBuffer buffer = new StringBuffer();
         buffer.append("***********************************\n");
@@ -454,5 +410,5 @@ public class PoolSoak extends LoadGenera
         buffer.append("***********************************\n");
         return buffer.toString();
     }
-    
+
 }

Modified: commons/sandbox/performance/trunk/src/java/org/apache/commons/performance/pool/WaiterFactory2.java
URL: http://svn.apache.org/viewvc/commons/sandbox/performance/trunk/src/java/org/apache/commons/performance/pool/WaiterFactory2.java?rev=1580595&r1=1580594&r2=1580595&view=diff
==============================================================================
--- commons/sandbox/performance/trunk/src/java/org/apache/commons/performance/pool/WaiterFactory2.java (original)
+++ commons/sandbox/performance/trunk/src/java/org/apache/commons/performance/pool/WaiterFactory2.java Sun Mar 23 20:31:36 2014
@@ -17,81 +17,95 @@
 
 package org.apache.commons.performance.pool;
 
-import java.util.concurrent.atomic.AtomicInteger;
-import org.apache.commons.pool2.PoolableObjectFactory;
-import org.apache.commons.pool2.KeyedPoolableObjectFactory;
+import org.apache.commons.pool2.KeyedPooledObjectFactory;
+import org.apache.commons.pool2.PooledObject;
+import org.apache.commons.pool2.PooledObjectFactory;
+import org.apache.commons.pool2.impl.DefaultPooledObject;
 
 /**
  * Version 2 object factory with configurable latencies for object lifecycle methods.
  */
-public class WaiterFactory2 extends WaiterFactoryBase implements 
-PoolableObjectFactory<Waiter>, KeyedPoolableObjectFactory<Integer, Waiter> {
+public class WaiterFactory2
+    extends WaiterFactoryBase
+    implements PooledObjectFactory<Waiter>, KeyedPooledObjectFactory<Integer, Waiter> {
 
-    public WaiterFactory2(long activateLatency, long destroyLatency,
-            long makeLatency, long passivateLatency, long validateLatency,
-            long waiterLatency,long maxActive, long maxActivePerKey,
-            double passivateInvalidationProbability) {
-        super(activateLatency, destroyLatency, makeLatency,
-        passivateLatency, validateLatency, waiterLatency, maxActive,
-        maxActivePerKey, passivateInvalidationProbability);
-    }
-    
-    public WaiterFactory2(long activateLatency, long destroyLatency,
-            long makeLatency, long passivateLatency, long validateLatency,
-            long waiterLatency) {
-        this(activateLatency, destroyLatency, makeLatency, passivateLatency,
-                validateLatency, waiterLatency, Long.MAX_VALUE, Long.MAX_VALUE, 0);
-    }
-    
-    public WaiterFactory2(long activateLatency, long destroyLatency,
-            long makeLatency, long passivateLatency, long validateLatency,
-            long waiterLatency,long maxActive) {
-        this(activateLatency, destroyLatency, makeLatency, passivateLatency,
-                validateLatency, waiterLatency, maxActive, Long.MAX_VALUE, 0);
-    }
-    
-    public void activateObject(Waiter waiter) throws Exception {
-        activate(waiter);
-    }
-    
-    public void destroyObject(Waiter waiter) throws Exception {
-        destroy(waiter);
-    }
-
-    public Waiter makeObject() throws Exception {
-        return make();
-    }
-    
-    public void passivateObject(Waiter waiter) throws Exception {
-        passivate(waiter);
-    }
-    
-    public boolean validateObject(Waiter waiter) {
-        return validate(waiter);
-    }
-
-    
-    public void activateObject(Integer key, Waiter waiter) throws Exception {
-        activate(waiter);
-    }
-    
-    public void destroyObject(Integer key, Waiter waiter) throws Exception {
-        destroy(waiter);
+    public WaiterFactory2(long activateLatency, long destroyLatency, long makeLatency, long passivateLatency,
+                          long validateLatency, long waiterLatency, long maxActive, long maxActivePerKey,
+                          double passivateInvalidationProbability) {
+        super(activateLatency, destroyLatency, makeLatency, passivateLatency, validateLatency, waiterLatency,
+              maxActive, maxActivePerKey, passivateInvalidationProbability);
+    }
+
+    public WaiterFactory2(long activateLatency, long destroyLatency, long makeLatency, long passivateLatency,
+                          long validateLatency, long waiterLatency) {
+        this(activateLatency, destroyLatency, makeLatency, passivateLatency, validateLatency, waiterLatency,
+             Long.MAX_VALUE, Long.MAX_VALUE, 0);
+    }
+
+    public WaiterFactory2(long activateLatency, long destroyLatency, long makeLatency, long passivateLatency,
+                          long validateLatency, long waiterLatency, long maxActive) {
+        this(activateLatency, destroyLatency, makeLatency, passivateLatency, validateLatency, waiterLatency, maxActive,
+             Long.MAX_VALUE, 0);
+    }
+
+    @Override
+    public void activateObject(PooledObject<Waiter> waiter)
+        throws Exception {
+        activate(waiter.getObject());
+    }
+
+    @Override
+    public void destroyObject(PooledObject<Waiter> waiter)
+        throws Exception {
+        destroy(waiter.getObject());
+    }
+
+    @Override
+    public PooledObject<Waiter> makeObject()
+        throws Exception {
+        return new DefaultPooledObject<Waiter>(make());
+    }
+
+    @Override
+    public void passivateObject(PooledObject<Waiter> waiter)
+        throws Exception {
+        passivate(waiter.getObject());
+    }
+
+    @Override
+    public boolean validateObject(PooledObject<Waiter> waiter) {
+        return validate(waiter.getObject());
+    }
+
+    @Override
+    public void activateObject(Integer key, PooledObject<Waiter> waiter)
+        throws Exception {
+        activate(waiter.getObject());
+    }
+
+    @Override
+    public void destroyObject(Integer key, PooledObject<Waiter> waiter)
+        throws Exception {
+        destroy(waiter.getObject());
         synchronized (this) {
-            ((AtomicInteger) activeCounts.get(key)).getAndDecrement(); 
+            activeCounts.get(key).getAndDecrement();
         }
     }
-    
-    public Waiter makeObject(Integer key) throws Exception {
-        return make(key);
+
+    @Override
+    public PooledObject<Waiter> makeObject(Integer key)
+        throws Exception {
+        return new DefaultPooledObject<Waiter>(make(key));
     }
-    
-    public void passivateObject(Integer key, Waiter waiter) throws Exception {
+
+    @Override
+    public void passivateObject(Integer key, PooledObject<Waiter> waiter)
+        throws Exception {
         passivateObject(waiter);
     }
-    
-    public boolean validateObject(Integer key, Waiter waiter) {
+
+    @Override
+    public boolean validateObject(Integer key, PooledObject<Waiter> waiter) {
         return validateObject(waiter);
     }
-
 }

Modified: commons/sandbox/performance/trunk/src/pool/build.properties.sample
URL: http://svn.apache.org/viewvc/commons/sandbox/performance/trunk/src/pool/build.properties.sample?rev=1580595&r1=1580594&r2=1580595&view=diff
==============================================================================
--- commons/sandbox/performance/trunk/src/pool/build.properties.sample (original)
+++ commons/sandbox/performance/trunk/src/pool/build.properties.sample Sun Mar 23 20:31:36 2014
@@ -21,6 +21,6 @@ mavenRepo=http://repo1.maven.org/maven2
 
 # Replace with full path to versions of pool, dbcp jars you want to test with
 pool-jar=${user.home}/.m2/repository/commons-pool/commons-pool/1.5.6/commons-pool-1.5.6.jar
-pool2-jar=${user.home}/.m2/repository/org/apache/commons/commons-pool2/2.0-SNAPSHOT/commons-pool2-2.0-SNAPSHOT.jar
+pool2-jar=${user.home}/.m2/repository/org/apache/commons/commons-pool2/2.2/commons-pool2-2.2.jar
 dbcp-jar=${user.home}/.m2/repository/commons-dbcp/commons-dbcp/1.3/commons-dbcp-1.3.jar
 

Modified: commons/sandbox/performance/trunk/src/pool/build.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/performance/trunk/src/pool/build.xml?rev=1580595&r1=1580594&r2=1580595&view=diff
==============================================================================
--- commons/sandbox/performance/trunk/src/pool/build.xml (original)
+++ commons/sandbox/performance/trunk/src/pool/build.xml Sun Mar 23 20:31:36 2014
@@ -64,15 +64,15 @@
 
   <target name="get-digester">
     <get
-    src="${mavenRepo}/commons-digester/commons-digester/1.8/commons-digester-1.8.jar"
+    src="${mavenRepo}/commons-digester/commons-digester/2.1/commons-digester-2.1.jar"
     dest="${lib}/commons-digester-1.8.jar"
     usetimestamp="true"/>
   </target>
 
   <target name="get-math">
     <get
-    src="${mavenRepo}/org/apache/commons/commons-math/2.2/commons-math-2.2.jar"
-    dest="${lib}/commons-math-2.2.jar"
+    src="${mavenRepo}/org/apache/commons/commons-math3/3.2/commons-math3-3.2.jar"
+    dest="${lib}/commons-math3-3.2.jar"
     usetimestamp="true"/>
   </target>
 

Modified: commons/sandbox/performance/trunk/src/test/org/apache/commons/performance/LoadGeneratorTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/performance/trunk/src/test/org/apache/commons/performance/LoadGeneratorTest.java?rev=1580595&r1=1580594&r2=1580595&view=diff
==============================================================================
--- commons/sandbox/performance/trunk/src/test/org/apache/commons/performance/LoadGeneratorTest.java (original)
+++ commons/sandbox/performance/trunk/src/test/org/apache/commons/performance/LoadGeneratorTest.java Sun Mar 23 20:31:36 2014
@@ -17,99 +17,110 @@
 package org.apache.commons.performance;
 
 import java.util.logging.Logger;
+
 import junit.framework.Test;
 import junit.framework.TestCase;
 import junit.framework.TestSuite;
-import org.apache.commons.math.stat.descriptive.SummaryStatistics;
-import org.apache.commons.math.random.RandomData;
-import org.apache.commons.math.random.RandomDataImpl;
-
-public class LoadGeneratorTest extends TestCase {
-    
-  protected TestLoadGenerator generator = null;
-  protected static Logger logger = Logger.getLogger(LoadGenerator.class.getName());
-  protected static Statistics stats = new Statistics();
-  
-  class TestClientThread extends ClientThread {
-      private long latency = 50;
-      private double metricOne = 10d;
-      private double metricTwo = 20d;
-      private SummaryStatistics oneStats = new SummaryStatistics();
-      private SummaryStatistics twoStats = new SummaryStatistics();
-      private SummaryStatistics randomStats = new SummaryStatistics();
-      private RandomData randomData = new RandomDataImpl();
-      public TestClientThread(long iterations, long minDelay, long maxDelay,
-              double sigma, String delayType, long rampPeriod,
-              long peakPeriod, long troughPeriod, String cycleType,
-              String rampType, Logger logger,
-              Statistics stats) {    
-          super(iterations, minDelay, maxDelay, sigma, delayType, rampPeriod,
-                  peakPeriod, troughPeriod, cycleType, rampType, logger,
-                  stats);
-      }
-      public void setLatency(long latency) {
-          this.latency = latency;
-      }
-      public void execute() throws Exception {
-          Thread.sleep(latency);
-      }
-      protected void cleanUp() {
-          oneStats.addValue(metricOne);
-          twoStats.addValue(metricTwo);
-          randomStats.addValue(randomData.nextUniform(0d, 1d));
-      }
-      protected void finish() {
-          stats.addStatistics(
-                  oneStats, Thread.currentThread().getName(), "one");
-          stats.addStatistics(
-                  twoStats, Thread.currentThread().getName(), "two");
-          stats.addStatistics(
-                  randomStats, Thread.currentThread().getName(), "random");   
-      }
-  }
-  
-  class TestLoadGenerator extends LoadGenerator {
-      protected ClientThread makeClientThread(long iterations, long minDelay,
-              long maxDelay, double sigma, String delayType, long rampPeriod,
-              long peakPeriod, long troughPeriod, String cycleType, 
-              String rampType, Logger logger, Statistics stats) {
-          return new TestClientThread(iterations, minDelay,
-              maxDelay, sigma, delayType, rampPeriod,
-              peakPeriod, troughPeriod, cycleType, 
-              rampType, logger, stats);
-      }
-      protected void parseConfigFile() throws Exception {
-          getDigester().parse(this.getClass().getResourceAsStream(
-                  "/org/apache/commons/performance/pool/config-pool.xml"));
-      }
-  }
-  
-
-  public LoadGeneratorTest(String name) {
-    super(name);
-  }
-
-
-  public static Test suite() {
-    return new TestSuite(LoadGeneratorTest.class);
-  }
-  
-  public void setUp() throws Exception {
-     generator = new TestLoadGenerator();
-  }
-
-  public void testStatistics() throws Exception {
-      generator.execute();
-      Statistics statistics = generator.getStatistics();
-      SummaryStatistics stats = null;
-      stats = statistics.getMeanSummary("latency");
-      assertEquals(50, stats.getMean(), 100.0);
-      stats = statistics.getMeanSummary("one");
-      assertEquals(10, stats.getMean(), 1.0);
-      stats = statistics.getMeanSummary("two");
-      assertEquals(20, stats.getMean(), 1.0);
-      stats = statistics.getMeanSummary("random");
-      assertEquals(0.5, stats.getMean(), 0.25);
-  }
-  
+
+import org.apache.commons.math3.random.RandomDataGenerator;
+import org.apache.commons.math3.stat.descriptive.SummaryStatistics;
+
+public class LoadGeneratorTest
+    extends TestCase {
+
+    protected TestLoadGenerator generator = null;
+    protected static Logger logger = Logger.getLogger(LoadGenerator.class.getName());
+    protected static Statistics stats = new Statistics();
+
+    class TestClientThread
+        extends ClientThread {
+
+        private long latency = 50;
+        private double metricOne = 10d;
+        private double metricTwo = 20d;
+        private SummaryStatistics oneStats = new SummaryStatistics();
+        private SummaryStatistics twoStats = new SummaryStatistics();
+        private SummaryStatistics randomStats = new SummaryStatistics();
+        private RandomDataGenerator randomData = new RandomDataGenerator();
+
+        public TestClientThread(long iterations, long minDelay, long maxDelay, double sigma, String delayType,
+                                long rampPeriod, long peakPeriod, long troughPeriod, String cycleType, String rampType,
+                                Logger logger, Statistics stats) {
+            super(iterations, minDelay, maxDelay, sigma, delayType, rampPeriod, peakPeriod, troughPeriod, cycleType,
+                  rampType, logger, stats);
+        }
+
+        public void setLatency(long latency) {
+            this.latency = latency;
+        }
+
+        @Override
+        public void execute()
+            throws Exception {
+            Thread.sleep(latency);
+        }
+
+        @Override
+        protected void cleanUp() {
+            oneStats.addValue(metricOne);
+            twoStats.addValue(metricTwo);
+            randomStats.addValue(randomData.nextUniform(0d, 1d));
+        }
+
+        @Override
+        protected void finish() {
+            stats.addStatistics(oneStats, Thread.currentThread().getName(), "one");
+            stats.addStatistics(twoStats, Thread.currentThread().getName(), "two");
+            stats.addStatistics(randomStats, Thread.currentThread().getName(), "random");
+        }
+    }
+
+    class TestLoadGenerator
+        extends LoadGenerator {
+
+        @Override
+        protected ClientThread makeClientThread(long iterations, long minDelay, long maxDelay, double sigma,
+                                                String delayType, long rampPeriod, long peakPeriod, long troughPeriod,
+                                                String cycleType, String rampType, Logger logger, Statistics stats) {
+            return new TestClientThread(iterations, minDelay, maxDelay, sigma, delayType, rampPeriod, peakPeriod,
+                                        troughPeriod, cycleType, rampType, logger, stats);
+        }
+
+        @Override
+        protected void parseConfigFile()
+            throws Exception {
+            getDigester().parse(this.getClass()
+                                    .getResourceAsStream("/org/apache/commons/performance/pool/config-pool.xml"));
+        }
+    }
+
+    public LoadGeneratorTest(String name) {
+        super(name);
+    }
+
+    public static Test suite() {
+        return new TestSuite(LoadGeneratorTest.class);
+    }
+
+    @Override
+    public void setUp()
+        throws Exception {
+        generator = new TestLoadGenerator();
+    }
+
+    public void testStatistics()
+        throws Exception {
+        generator.execute();
+        Statistics statistics = generator.getStatistics();
+        SummaryStatistics stats = null;
+        stats = statistics.getMeanSummary("latency");
+        assertEquals(50, stats.getMean(), 100.0);
+        stats = statistics.getMeanSummary("one");
+        assertEquals(10, stats.getMean(), 1.0);
+        stats = statistics.getMeanSummary("two");
+        assertEquals(20, stats.getMean(), 1.0);
+        stats = statistics.getMeanSummary("random");
+        assertEquals(0.5, stats.getMean(), 0.25);
+    }
+
 }

Modified: commons/sandbox/performance/trunk/src/test/org/apache/commons/performance/pool/PoolSoakTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/performance/trunk/src/test/org/apache/commons/performance/pool/PoolSoakTest.java?rev=1580595&r1=1580594&r2=1580595&view=diff
==============================================================================
--- commons/sandbox/performance/trunk/src/test/org/apache/commons/performance/pool/PoolSoakTest.java (original)
+++ commons/sandbox/performance/trunk/src/test/org/apache/commons/performance/pool/PoolSoakTest.java Sun Mar 23 20:31:36 2014
@@ -23,7 +23,7 @@ import java.util.List;
 import java.util.logging.Logger;
 import org.apache.commons.dbcp.AbandonedConfig;
 import org.apache.commons.dbcp.AbandonedObjectPool;
-import org.apache.commons.math.stat.descriptive.SummaryStatistics;
+import org.apache.commons.math3.stat.descriptive.SummaryStatistics;
 import org.apache.commons.pool.impl.GenericObjectPool;
 import junit.framework.Test;
 import junit.framework.TestCase;

Modified: commons/sandbox/performance/trunk/src/test/org/apache/commons/performance/pool/WaiterTest.java
URL: http://svn.apache.org/viewvc/commons/sandbox/performance/trunk/src/test/org/apache/commons/performance/pool/WaiterTest.java?rev=1580595&r1=1580594&r2=1580595&view=diff
==============================================================================
--- commons/sandbox/performance/trunk/src/test/org/apache/commons/performance/pool/WaiterTest.java (original)
+++ commons/sandbox/performance/trunk/src/test/org/apache/commons/performance/pool/WaiterTest.java Sun Mar 23 20:31:36 2014
@@ -23,7 +23,7 @@ import java.util.List;
 import java.util.logging.Logger;
 import org.apache.commons.dbcp.AbandonedConfig;
 import org.apache.commons.dbcp.AbandonedObjectPool;
-import org.apache.commons.math.stat.descriptive.SummaryStatistics;
+import org.apache.commons.math3.stat.descriptive.SummaryStatistics;
 import org.apache.commons.pool.impl.GenericObjectPool;
 import junit.framework.Test;
 import junit.framework.TestCase;