You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by de...@apache.org on 2015/04/16 16:01:47 UTC

[1/2] activemq git commit: Updated API for commons-pool2

Repository: activemq
Updated Branches:
  refs/heads/master 31834ed1f -> 4441001c4


Updated API for commons-pool2


Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/4441001c
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/4441001c
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/4441001c

Branch: refs/heads/master
Commit: 4441001c42a9d9034d6faa979d24bc1d70725747
Parents: 6d6ed4e
Author: Jeff Genender <jg...@savoirtech.com>
Authored: Wed Apr 15 12:23:03 2015 -0600
Committer: Dejan Bosanac <de...@nighttale.net>
Committed: Thu Apr 16 16:01:39 2015 +0200

----------------------------------------------------------------------
 .../main/java/org/apache/activemq/jms/pool/ConnectionPool.java   | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/4441001c/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/ConnectionPool.java
----------------------------------------------------------------------
diff --git a/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/ConnectionPool.java b/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/ConnectionPool.java
index 27c6ca4..6b6fe65 100644
--- a/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/ConnectionPool.java
+++ b/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/ConnectionPool.java
@@ -262,11 +262,11 @@ public class ConnectionPool implements ExceptionListener {
     }
 
     public int getMaximumActiveSessionPerConnection() {
-        return this.sessionPool.getMaxTotal();
+        return this.sessionPool.getMaxTotalPerKey();
     }
 
     public void setMaximumActiveSessionPerConnection(int maximumActiveSessionPerConnection) {
-        this.sessionPool.setMaxTotal(maximumActiveSessionPerConnection);
+        this.sessionPool.setMaxTotalPerKey(maximumActiveSessionPerConnection);
     }
 
     public boolean isUseAnonymousProducers() {


[2/2] activemq git commit: AMQ-5721 - Update ActiveMQ to use commons-pool2 instead of commons-pool.AMQ-5636 will need it. The JMS pool and other components should use it as well.

Posted by de...@apache.org.
AMQ-5721 - Update ActiveMQ to use commons-pool2 instead of commons-pool.AMQ-5636 will need it. The JMS pool and other components should use it as well.


Project: http://git-wip-us.apache.org/repos/asf/activemq/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/6d6ed4ea
Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/6d6ed4ea
Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/6d6ed4ea

Branch: refs/heads/master
Commit: 6d6ed4eaaf66d144c98365c9448a88a9b574b8f0
Parents: 31834ed
Author: Jeff Genender <jg...@savoirtech.com>
Authored: Tue Apr 14 06:57:00 2015 -0600
Committer: Dejan Bosanac <de...@nighttale.net>
Committed: Thu Apr 16 16:01:39 2015 +0200

----------------------------------------------------------------------
 .../camel/component/ActiveMQConfiguration.java  |  4 +-
 activemq-console/pom.xml                        |  4 +-
 activemq-jms-pool/pom.xml                       |  4 +-
 .../activemq/jms/pool/ConnectionPool.java       | 43 +++++++-------
 .../jms/pool/PooledConnectionFactory.java       | 61 +++++++++++---------
 .../apache/activemq/jms/pool/PooledSession.java |  2 +-
 .../src/main/resources/features-core.xml        |  2 +-
 activemq-pool/pom.xml                           |  4 +-
 activemq-rar/pom.xml                            | 12 ++--
 activemq-spring/pom.xml                         |  4 +-
 assembly/pom.xml                                |  4 +-
 assembly/src/main/descriptors/common-bin.xml    |  2 +-
 pom.xml                                         |  8 +--
 trash/activemq-optional/pom.xml                 |  4 +-
 14 files changed, 83 insertions(+), 75 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq/blob/6d6ed4ea/activemq-camel/src/main/java/org/apache/activemq/camel/component/ActiveMQConfiguration.java
----------------------------------------------------------------------
diff --git a/activemq-camel/src/main/java/org/apache/activemq/camel/component/ActiveMQConfiguration.java b/activemq-camel/src/main/java/org/apache/activemq/camel/component/ActiveMQConfiguration.java
index 5dba295..5b9007b 100644
--- a/activemq-camel/src/main/java/org/apache/activemq/camel/component/ActiveMQConfiguration.java
+++ b/activemq-camel/src/main/java/org/apache/activemq/camel/component/ActiveMQConfiguration.java
@@ -109,7 +109,7 @@ public class ActiveMQConfiguration extends JmsConfiguration {
      * than the default with the Spring {@link JmsTemplate} which will create a new connection, session, producer
      * for each message then close them all down again.
      * <p/>
-     * The default value is true. Note that this requires an extra dependency on commons-pool.
+     * The default value is true. Note that this requires an extra dependency on commons-pool2.
      */
     public void setUsePooledConnection(boolean usePooledConnection) {
         this.usePooledConnection = usePooledConnection;
@@ -162,7 +162,7 @@ public class ActiveMQConfiguration extends JmsConfiguration {
     }
 
     protected ConnectionFactory createPooledConnectionFactory(ActiveMQConnectionFactory connectionFactory) {
-        // lets not use classes directly to avoid a runtime dependency on commons-pool
+        // lets not use classes directly to avoid a runtime dependency on commons-pool2
         // for folks not using this option
         try {
             Class type = loadClass("org.apache.activemq.pool.PooledConnectionFactory", getClass().getClassLoader());

http://git-wip-us.apache.org/repos/asf/activemq/blob/6d6ed4ea/activemq-console/pom.xml
----------------------------------------------------------------------
diff --git a/activemq-console/pom.xml b/activemq-console/pom.xml
index 5db0a1a..ab26df5 100644
--- a/activemq-console/pom.xml
+++ b/activemq-console/pom.xml
@@ -60,8 +60,8 @@
       <artifactId>geronimo-jms_1.1_spec</artifactId>
     </dependency>
     <dependency>
-      <groupId>commons-pool</groupId>
-      <artifactId>commons-pool</artifactId>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-pool2</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.xbean</groupId>

http://git-wip-us.apache.org/repos/asf/activemq/blob/6d6ed4ea/activemq-jms-pool/pom.xml
----------------------------------------------------------------------
diff --git a/activemq-jms-pool/pom.xml b/activemq-jms-pool/pom.xml
index 252c362..bc60b55 100755
--- a/activemq-jms-pool/pom.xml
+++ b/activemq-jms-pool/pom.xml
@@ -69,8 +69,8 @@
       <optional>true</optional>
     </dependency>
     <dependency>
-      <groupId>commons-pool</groupId>
-      <artifactId>commons-pool</artifactId>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-pool2</artifactId>
     </dependency>
     <!-- for testing use amq -->
     <dependency>

http://git-wip-us.apache.org/repos/asf/activemq/blob/6d6ed4ea/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/ConnectionPool.java
----------------------------------------------------------------------
diff --git a/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/ConnectionPool.java b/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/ConnectionPool.java
index 6c3fdc3..27c6ca4 100644
--- a/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/ConnectionPool.java
+++ b/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/ConnectionPool.java
@@ -29,9 +29,13 @@ import javax.jms.Session;
 import javax.jms.TemporaryQueue;
 import javax.jms.TemporaryTopic;
 
-import org.apache.commons.pool.KeyedPoolableObjectFactory;
-import org.apache.commons.pool.impl.GenericKeyedObjectPool;
-import org.apache.commons.pool.impl.GenericObjectPool;
+import org.apache.commons.pool2.BasePooledObjectFactory;
+import org.apache.commons.pool2.KeyedObjectPool;
+import org.apache.commons.pool2.KeyedPooledObjectFactory;
+import org.apache.commons.pool2.PooledObject;
+import org.apache.commons.pool2.impl.DefaultPooledObject;
+import org.apache.commons.pool2.impl.GenericKeyedObjectPool;
+import org.apache.commons.pool2.impl.GenericObjectPool;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -67,29 +71,29 @@ public class ConnectionPool implements ExceptionListener {
 
         // Create our internal Pool of session instances.
         this.sessionPool = new GenericKeyedObjectPool<SessionKey, SessionHolder>(
-            new KeyedPoolableObjectFactory<SessionKey, SessionHolder>() {
-
+            new KeyedPooledObjectFactory<SessionKey, SessionHolder>() {
                 @Override
-                public void activateObject(SessionKey key, SessionHolder session) throws Exception {
+                public PooledObject<SessionHolder> makeObject(SessionKey sessionKey) throws Exception {
+
+                    return new DefaultPooledObject<SessionHolder>(new SessionHolder(makeSession(sessionKey)));
                 }
 
                 @Override
-                public void destroyObject(SessionKey key, SessionHolder session) throws Exception {
-                    session.close();
+                public void destroyObject(SessionKey sessionKey, PooledObject<SessionHolder> pooledObject) throws Exception {
+                    ((SessionHolder)pooledObject.getObject()).close();
                 }
 
                 @Override
-                public SessionHolder makeObject(SessionKey key) throws Exception {
-                    return new SessionHolder(makeSession(key));
+                public boolean validateObject(SessionKey sessionKey, PooledObject<SessionHolder> pooledObject) {
+                    return true;
                 }
 
                 @Override
-                public void passivateObject(SessionKey key, SessionHolder session) throws Exception {
+                public void activateObject(SessionKey sessionKey, PooledObject<SessionHolder> pooledObject) throws Exception {
                 }
 
                 @Override
-                public boolean validateObject(SessionKey key, SessionHolder session) {
-                    return true;
+                public void passivateObject(SessionKey sessionKey, PooledObject<SessionHolder> pooledObject) throws Exception {
                 }
             }
         );
@@ -258,11 +262,11 @@ public class ConnectionPool implements ExceptionListener {
     }
 
     public int getMaximumActiveSessionPerConnection() {
-        return this.sessionPool.getMaxActive();
+        return this.sessionPool.getMaxTotal();
     }
 
     public void setMaximumActiveSessionPerConnection(int maximumActiveSessionPerConnection) {
-        this.sessionPool.setMaxActive(maximumActiveSessionPerConnection);
+        this.sessionPool.setMaxTotal(maximumActiveSessionPerConnection);
     }
 
     public boolean isUseAnonymousProducers() {
@@ -304,12 +308,11 @@ public class ConnectionPool implements ExceptionListener {
      * 		Indicates whether blocking should be used to wait for more space to create a session.
      */
     public void setBlockIfSessionPoolIsFull(boolean block) {
-        this.sessionPool.setWhenExhaustedAction(
-                (block ? GenericObjectPool.WHEN_EXHAUSTED_BLOCK : GenericObjectPool.WHEN_EXHAUSTED_FAIL));
+        this.sessionPool.setBlockWhenExhausted(block);
     }
 
     public boolean isBlockIfSessionPoolIsFull() {
-        return this.sessionPool.getWhenExhaustedAction() == GenericObjectPool.WHEN_EXHAUSTED_BLOCK;
+        return this.sessionPool.getBlockWhenExhausted();
     }
 
     /**
@@ -319,7 +322,7 @@ public class ConnectionPool implements ExceptionListener {
      * @see #setBlockIfSessionPoolIsFull(boolean)
      */
     public long getBlockIfSessionPoolIsFullTimeout() {
-        return this.sessionPool.getMaxWait();
+        return this.sessionPool.getMaxWaitMillis();
     }
 
     /**
@@ -337,7 +340,7 @@ public class ConnectionPool implements ExceptionListener {
      *                                        then use this setting to configure how long to block before retry
      */
     public void setBlockIfSessionPoolIsFullTimeout(long blockIfSessionPoolIsFullTimeout) {
-        this.sessionPool.setMaxWait(blockIfSessionPoolIsFullTimeout);
+        this.sessionPool.setMaxWaitMillis(blockIfSessionPoolIsFullTimeout);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/activemq/blob/6d6ed4ea/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledConnectionFactory.java
----------------------------------------------------------------------
diff --git a/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledConnectionFactory.java b/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledConnectionFactory.java
index 06918c5..ab251c5 100644
--- a/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledConnectionFactory.java
+++ b/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledConnectionFactory.java
@@ -28,8 +28,10 @@ import javax.jms.QueueConnectionFactory;
 import javax.jms.TopicConnection;
 import javax.jms.TopicConnectionFactory;
 
-import org.apache.commons.pool.KeyedPoolableObjectFactory;
-import org.apache.commons.pool.impl.GenericKeyedObjectPool;
+import org.apache.commons.pool2.KeyedPooledObjectFactory;
+import org.apache.commons.pool2.PooledObject;
+import org.apache.commons.pool2.impl.DefaultPooledObject;
+import org.apache.commons.pool2.impl.GenericKeyedObjectPool;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -85,27 +87,10 @@ public class PooledConnectionFactory implements ConnectionFactory, QueueConnecti
     public void initConnectionsPool() {
         if (this.connectionsPool == null) {
             this.connectionsPool = new GenericKeyedObjectPool<ConnectionKey, ConnectionPool>(
-                new KeyedPoolableObjectFactory<ConnectionKey, ConnectionPool>() {
-
-                    @Override
-                    public void activateObject(ConnectionKey key, ConnectionPool connection) throws Exception {
-                    }
-
-                    @Override
-                    public void destroyObject(ConnectionKey key, ConnectionPool connection) throws Exception {
-                        try {
-                            if (LOG.isTraceEnabled()) {
-                                LOG.trace("Destroying connection: {}", connection);
-                            }
-                            connection.close();
-                        } catch (Exception e) {
-                            LOG.warn("Close connection failed for connection: " + connection + ". This exception will be ignored.",e);
-                        }
-                    }
-
+                new KeyedPooledObjectFactory<ConnectionKey, ConnectionPool>() {
                     @Override
-                    public ConnectionPool makeObject(ConnectionKey key) throws Exception {
-                        Connection delegate = createConnection(key);
+                    public PooledObject<ConnectionPool> makeObject(ConnectionKey connectionKey) throws Exception {
+                        Connection delegate = createConnection(connectionKey);
 
                         ConnectionPool connection = createConnectionPool(delegate);
                         connection.setIdleTimeout(getIdleTimeout());
@@ -124,15 +109,25 @@ public class PooledConnectionFactory implements ConnectionFactory, QueueConnecti
 
                         PooledConnectionFactory.this.mostRecentlyCreated.set(connection);
 
-                        return connection;
+                        return new DefaultPooledObject<ConnectionPool>(connection);
                     }
 
                     @Override
-                    public void passivateObject(ConnectionKey key, ConnectionPool connection) throws Exception {
+                    public void destroyObject(ConnectionKey connectionKey, PooledObject<ConnectionPool> pooledObject) throws Exception {
+                        ConnectionPool connection = pooledObject.getObject();
+                        try {
+                            if (LOG.isTraceEnabled()) {
+                                LOG.trace("Destroying connection: {}", connection);
+                            }
+                            connection.close();
+                        } catch (Exception e) {
+                            LOG.warn("Close connection failed for connection: " + connection + ". This exception will be ignored.",e);
+                        }
                     }
 
                     @Override
-                    public boolean validateObject(ConnectionKey key, ConnectionPool connection) {
+                    public boolean validateObject(ConnectionKey connectionKey, PooledObject<ConnectionPool> pooledObject) {
+                        ConnectionPool connection = pooledObject.getObject();
                         if (connection != null && connection.expiredCheck()) {
                             if (LOG.isTraceEnabled()) {
                                 LOG.trace("Connection has expired: {} and will be destroyed", connection);
@@ -143,10 +138,19 @@ public class PooledConnectionFactory implements ConnectionFactory, QueueConnecti
 
                         return true;
                     }
+
+                    @Override
+                    public void activateObject(ConnectionKey connectionKey, PooledObject<ConnectionPool> pooledObject) throws Exception {
+                    }
+
+                    @Override
+                    public void passivateObject(ConnectionKey connectionKey, PooledObject<ConnectionPool> pooledObject) throws Exception {
+                    }
+
                 });
 
             // Set max idle (not max active) since our connections always idle in the pool.
-            this.connectionsPool.setMaxIdle(1);
+            this.connectionsPool.setMaxIdlePerKey(1);
             this.connectionsPool.setLifo(false);
 
             // We always want our validate method to control when idle objects are evicted.
@@ -378,7 +382,7 @@ public class PooledConnectionFactory implements ConnectionFactory, QueueConnecti
      * @return the maxConnections that will be created for this pool.
      */
     public int getMaxConnections() {
-        return getConnectionsPool().getMaxIdle();
+        return getConnectionsPool().getMaxIdlePerKey();
     }
 
     /**
@@ -389,7 +393,8 @@ public class PooledConnectionFactory implements ConnectionFactory, QueueConnecti
      * @param maxConnections the maxConnections to set
      */
     public void setMaxConnections(int maxConnections) {
-        getConnectionsPool().setMaxIdle(maxConnections);
+        getConnectionsPool().setMaxIdlePerKey(maxConnections);
+        getConnectionsPool().setMaxTotalPerKey(maxConnections);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/activemq/blob/6d6ed4ea/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledSession.java
----------------------------------------------------------------------
diff --git a/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledSession.java b/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledSession.java
index cbfec29..1e8fd23 100644
--- a/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledSession.java
+++ b/activemq-jms-pool/src/main/java/org/apache/activemq/jms/pool/PooledSession.java
@@ -47,7 +47,7 @@ import javax.jms.TopicSubscriber;
 import javax.jms.XASession;
 import javax.transaction.xa.XAResource;
 
-import org.apache.commons.pool.KeyedObjectPool;
+import org.apache.commons.pool2.KeyedObjectPool;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/activemq/blob/6d6ed4ea/activemq-karaf/src/main/resources/features-core.xml
----------------------------------------------------------------------
diff --git a/activemq-karaf/src/main/resources/features-core.xml b/activemq-karaf/src/main/resources/features-core.xml
index c402684..6b77107 100644
--- a/activemq-karaf/src/main/resources/features-core.xml
+++ b/activemq-karaf/src/main/resources/features-core.xml
@@ -30,7 +30,7 @@
         <bundle dependency="true">mvn:org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec/1.0.1</bundle>
         <bundle dependency="true">mvn:org.jvnet.jaxb2_commons/jaxb2-basics-runtime/${jaxb-basics-version}</bundle>
         <bundle dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/${jaxb-bundle-version}</bundle>
-        <bundle dependency="false">mvn:commons-pool/commons-pool/${commons-pool-version}</bundle>
+        <bundle dependency="false">mvn:org.apache.commons/commons-pool2/${commons-pool2-version}</bundle>
         <bundle dependency="false">mvn:commons-net/commons-net/${commons-net-version}</bundle>
         <bundle dependency='true'>mvn:org.apache.zookeeper/zookeeper/${zookeeper-version}</bundle>
         <!-- uber osgi bundle means client is not that lean, todo: introduce client osgi bundle -->

http://git-wip-us.apache.org/repos/asf/activemq/blob/6d6ed4ea/activemq-pool/pom.xml
----------------------------------------------------------------------
diff --git a/activemq-pool/pom.xml b/activemq-pool/pom.xml
index f432a50..05a75ec 100755
--- a/activemq-pool/pom.xml
+++ b/activemq-pool/pom.xml
@@ -74,8 +74,8 @@
       <optional>true</optional>
     </dependency>
     <dependency>
-      <groupId>commons-pool</groupId>
-      <artifactId>commons-pool</artifactId>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-pool2</artifactId>
     </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>

http://git-wip-us.apache.org/repos/asf/activemq/blob/6d6ed4ea/activemq-rar/pom.xml
----------------------------------------------------------------------
diff --git a/activemq-rar/pom.xml b/activemq-rar/pom.xml
index 8adfa2c..90e891e 100644
--- a/activemq-rar/pom.xml
+++ b/activemq-rar/pom.xml
@@ -162,8 +162,8 @@
           <artifactId>commons-primitives</artifactId>
         </exclusion>
         <exclusion>
-          <groupId>commons-pool</groupId>
-          <artifactId>commons-pool</artifactId>
+          <groupId>org.apache.commons</groupId>
+          <artifactId>commons-pool2</artifactId>
         </exclusion>
       </exclusions>
     </dependency>
@@ -296,8 +296,8 @@
           <artifactId>commons-primitives</artifactId>
         </exclusion>
         <exclusion>
-          <groupId>commons-pool</groupId>
-          <artifactId>commons-pool</artifactId>
+          <groupId>org.apache.commons</groupId>
+          <artifactId>commons-pool2</artifactId>
         </exclusion>
       </exclusions>
     </dependency>
@@ -336,8 +336,8 @@
       <artifactId>geronimo-j2ee-management_1.1_spec</artifactId>
     </dependency>
     <dependency>
-      <groupId>commons-pool</groupId>
-      <artifactId>commons-pool</artifactId>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-pool2</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.activemq</groupId>

http://git-wip-us.apache.org/repos/asf/activemq/blob/6d6ed4ea/activemq-spring/pom.xml
----------------------------------------------------------------------
diff --git a/activemq-spring/pom.xml b/activemq-spring/pom.xml
index 92b7f60..4137483 100755
--- a/activemq-spring/pom.xml
+++ b/activemq-spring/pom.xml
@@ -149,8 +149,8 @@
       <optional>true</optional>
     </dependency>
     <dependency>
-      <groupId>commons-pool</groupId>
-      <artifactId>commons-pool</artifactId>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-pool2</artifactId>
     </dependency>
     <dependency>
       <groupId>org.springframework</groupId>

http://git-wip-us.apache.org/repos/asf/activemq/blob/6d6ed4ea/assembly/pom.xml
----------------------------------------------------------------------
diff --git a/assembly/pom.xml b/assembly/pom.xml
index 3428aae..ce2ec38 100755
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -228,8 +228,8 @@
       <optional>true</optional>
     </dependency>
     <dependency>
-      <groupId>commons-pool</groupId>
-      <artifactId>commons-pool</artifactId>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-pool2</artifactId>
       <optional>true</optional>
     </dependency>
     <dependency>

http://git-wip-us.apache.org/repos/asf/activemq/blob/6d6ed4ea/assembly/src/main/descriptors/common-bin.xml
----------------------------------------------------------------------
diff --git a/assembly/src/main/descriptors/common-bin.xml b/assembly/src/main/descriptors/common-bin.xml
index efbd9f2..6359837 100644
--- a/assembly/src/main/descriptors/common-bin.xml
+++ b/assembly/src/main/descriptors/common-bin.xml
@@ -173,7 +173,7 @@
         <include>commons-beanutils:commons-beanutils</include>
         <include>commons-collections:commons-collections</include>
         <include>org.apache.commons:commons-dbcp2</include>
-        <include>commons-pool:commons-pool</include>
+        <include>org.apache.commons:commons-pool2</include>
         <include>commons-codec:commons-codec</include>
         <include>commons-net:commons-net</include>
         <include>commons-lang:commons-lang</include>

http://git-wip-us.apache.org/repos/asf/activemq/blob/6d6ed4ea/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 96c761a..f45bf0f 100755
--- a/pom.xml
+++ b/pom.xml
@@ -57,7 +57,7 @@
     <commons-io-version>2.4</commons-io-version>
     <commons-lang-version>2.6</commons-lang-version>
     <commons-logging-version>1.1.3</commons-logging-version>
-    <commons-pool-version>1.6</commons-pool-version>
+    <commons-pool2-version>2.3</commons-pool2-version>
     <commons-primitives-version>1.0</commons-primitives-version>
     <commons-net-version>3.3</commons-net-version>
     <directory-version>2.0.0-M6</directory-version>
@@ -855,9 +855,9 @@
       </dependency>
 
       <dependency>
-        <groupId>commons-pool</groupId>
-        <artifactId>commons-pool</artifactId>
-        <version>${commons-pool-version}</version>
+        <groupId>org.apache.commons</groupId>
+        <artifactId>commons-pool2</artifactId>
+        <version>${commons-pool2-version}</version>
       </dependency>
 
       <!-- Optional Journal Implementation -->

http://git-wip-us.apache.org/repos/asf/activemq/blob/6d6ed4ea/trash/activemq-optional/pom.xml
----------------------------------------------------------------------
diff --git a/trash/activemq-optional/pom.xml b/trash/activemq-optional/pom.xml
index 6a7f3a9..f1aa50c 100755
--- a/trash/activemq-optional/pom.xml
+++ b/trash/activemq-optional/pom.xml
@@ -93,8 +93,8 @@
       <artifactId>httpclient</artifactId>
     </dependency>
     <dependency>
-      <groupId>commons-pool</groupId>
-      <artifactId>commons-pool</artifactId>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-pool2</artifactId>
     </dependency>
     <dependency>
       <groupId>commons-collections</groupId>