You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by jg...@apache.org on 2010/07/21 18:37:38 UTC

svn commit: r966303 - /servicemix/smx3/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/jms/AbstractJMSFlow.java

Author: jgoodyear
Date: Wed Jul 21 16:37:37 2010
New Revision: 966303

URL: http://svn.apache.org/viewvc?rev=966303&view=rev
Log:
[SM-1964] JMS Flow only uses one connection even with a PooledConnectionFactory. First patch was incomplete, this updates pool with one connection case

Modified:
    servicemix/smx3/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/jms/AbstractJMSFlow.java

Modified: servicemix/smx3/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/jms/AbstractJMSFlow.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/jms/AbstractJMSFlow.java?rev=966303&r1=966302&r2=966303&view=diff
==============================================================================
--- servicemix/smx3/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/jms/AbstractJMSFlow.java (original)
+++ servicemix/smx3/trunk/core/servicemix-core/src/main/java/org/apache/servicemix/jbi/nmr/flow/jms/AbstractJMSFlow.java Wed Jul 21 16:37:37 2010
@@ -473,7 +473,9 @@ public abstract class AbstractJMSFlow ex
 
             Connection cnx = connection;
             // with a PooledConnectionFactory get a new connection from the pool
-            if (connectionFactory instanceof PooledConnectionFactory) {
+            boolean useConnectionFromPool = (connectionFactory instanceof PooledConnectionFactory)
+                && ((PooledConnectionFactory)connectionFactory).getMaxConnections() > 1;
+            if (useConnectionFromPool) {
                 connectionFactory.createConnection();
                 cnx.start();
             }
@@ -491,7 +493,7 @@ public abstract class AbstractJMSFlow ex
                 queueProducer.send(msg);
             } finally {
                 inboundSession.close();
-                if (connectionFactory instanceof PooledConnectionFactory) {
+                if (useConnectionFromPool) {
                     // return connection to the pool
                     cnx.stop();
                     cnx.close();