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();


Reply via email to