Return-Path: X-Original-To: apmail-activemq-commits-archive@www.apache.org Delivered-To: apmail-activemq-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 39101D22B for ; Wed, 7 Nov 2012 14:35:14 +0000 (UTC) Received: (qmail 66933 invoked by uid 500); 7 Nov 2012 14:35:14 -0000 Delivered-To: apmail-activemq-commits-archive@activemq.apache.org Received: (qmail 66842 invoked by uid 500); 7 Nov 2012 14:35:13 -0000 Mailing-List: contact commits-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list commits@activemq.apache.org Received: (qmail 66821 invoked by uid 99); 7 Nov 2012 14:35:12 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Nov 2012 14:35:12 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Nov 2012 14:35:09 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 7500123889D7 for ; Wed, 7 Nov 2012 14:34:48 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1406657 - in /activemq/trunk/activemq-pool/src: main/java/org/apache/activemq/pool/PooledConnectionFactory.java main/java/org/apache/activemq/pool/XaPooledConnectionFactory.java test/java/org/apache/activemq/pool/XAConnectionPoolTest.java Date: Wed, 07 Nov 2012 14:34:48 -0000 To: commits@activemq.apache.org From: tabish@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20121107143448.7500123889D7@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: tabish Date: Wed Nov 7 14:34:47 2012 New Revision: 1406657 URL: http://svn.apache.org/viewvc?rev=1406657&view=rev Log: fix issue introduced in https://issues.apache.org/jira/browse/AMQ-4019 for XA connections. Modified: activemq/trunk/activemq-pool/src/main/java/org/apache/activemq/pool/PooledConnectionFactory.java activemq/trunk/activemq-pool/src/main/java/org/apache/activemq/pool/XaPooledConnectionFactory.java activemq/trunk/activemq-pool/src/test/java/org/apache/activemq/pool/XAConnectionPoolTest.java Modified: activemq/trunk/activemq-pool/src/main/java/org/apache/activemq/pool/PooledConnectionFactory.java URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-pool/src/main/java/org/apache/activemq/pool/PooledConnectionFactory.java?rev=1406657&r1=1406656&r2=1406657&view=diff ============================================================================== --- activemq/trunk/activemq-pool/src/main/java/org/apache/activemq/pool/PooledConnectionFactory.java (original) +++ activemq/trunk/activemq-pool/src/main/java/org/apache/activemq/pool/PooledConnectionFactory.java Wed Nov 7 14:34:47 2012 @@ -130,7 +130,7 @@ public class PooledConnectionFactory imp public ConnectionPool makeObject(ConnectionKey key) throws Exception { ActiveMQConnection delegate = createConnection(key); - ConnectionPool connection = new ConnectionPool(delegate); + ConnectionPool connection = createConnectionPool(delegate); connection.setIdleTimeout(getIdleTimeout()); connection.setExpiryTimeout(getExpiryTimeout()); connection.setMaximumActiveSessionPerConnection(getMaximumActiveSessionPerConnection()); @@ -484,4 +484,16 @@ public class PooledConnectionFactory imp */ public void setPoolFactory(ObjectPoolFactory factory) { } + + /** + * Delegate that creates each instance of an ConnectionPool object. Subclasses can override + * this method to customize the type of connection pool returned. + * + * @param connection + * + * @return instance of a new ConnectionPool. + */ + protected ConnectionPool createConnectionPool(ActiveMQConnection connection) { + return new ConnectionPool(connection); + } } Modified: activemq/trunk/activemq-pool/src/main/java/org/apache/activemq/pool/XaPooledConnectionFactory.java URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-pool/src/main/java/org/apache/activemq/pool/XaPooledConnectionFactory.java?rev=1406657&r1=1406656&r2=1406657&view=diff ============================================================================== --- activemq/trunk/activemq-pool/src/main/java/org/apache/activemq/pool/XaPooledConnectionFactory.java (original) +++ activemq/trunk/activemq-pool/src/main/java/org/apache/activemq/pool/XaPooledConnectionFactory.java Wed Nov 7 14:34:47 2012 @@ -49,6 +49,7 @@ public class XaPooledConnectionFactory e this.transactionManager = transactionManager; } + @Override protected ConnectionPool createConnectionPool(ActiveMQConnection connection) { return new XaConnectionPool(connection, getTransactionManager()); } Modified: activemq/trunk/activemq-pool/src/test/java/org/apache/activemq/pool/XAConnectionPoolTest.java URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-pool/src/test/java/org/apache/activemq/pool/XAConnectionPoolTest.java?rev=1406657&r1=1406656&r2=1406657&view=diff ============================================================================== --- activemq/trunk/activemq-pool/src/test/java/org/apache/activemq/pool/XAConnectionPoolTest.java (original) +++ activemq/trunk/activemq-pool/src/test/java/org/apache/activemq/pool/XAConnectionPoolTest.java Wed Nov 7 14:34:47 2012 @@ -33,6 +33,7 @@ import javax.transaction.Transaction; import javax.transaction.TransactionManager; import javax.transaction.xa.XAResource; import org.apache.activemq.ActiveMQXAConnectionFactory; +import org.apache.activemq.ActiveMQXASession; import org.apache.activemq.command.ActiveMQTopic; import org.apache.activemq.test.TestSupport; @@ -122,6 +123,11 @@ public class XAConnectionPoolTest extend TopicConnection connection = (TopicConnection) pcf.createConnection(); TopicSession session = connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE); + + assertTrue(session instanceof PooledSession); + PooledSession pooledSession = (PooledSession) session; + assertTrue(pooledSession.getInternalSession() instanceof ActiveMQXASession); + TopicPublisher publisher = session.createPublisher(topic); publisher.publish(session.createMessage());