[jboss-svn-commits] JBL Code SVN: r15052 - labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/routing.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Sep 12 09:53:04 EDT 2007


Author: kevin.conner at jboss.com
Date: 2007-09-12 09:53:04 -0400 (Wed, 12 Sep 2007)
New Revision: 15052

Modified:
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/routing/JMSRouter.java
Log:
Tidyup session handling: JBESB-1028

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/routing/JMSRouter.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/routing/JMSRouter.java	2007-09-12 13:17:25 UTC (rev 15051)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/actions/routing/JMSRouter.java	2007-09-12 13:53:04 UTC (rev 15052)
@@ -302,18 +302,26 @@
             this.queueName = queueName;
             
             jmsSession = pool.getQueueSession();
+            boolean clean = true ;
             try {
-            	jmsQueue = (Queue) oCtx.lookup(queueName);
-            } catch (NamingException ne) {
                 try {
-                    oCtx = NamingContext.getFreshServerContext(environment);
-                    jmsQueue = (Queue) oCtx.lookup(queueName);
-                } catch (NamingException nex) {
-                    //ActiveMQ
-                    jmsQueue = jmsSession.createQueue(queueName);
+                	jmsQueue = (Queue) oCtx.lookup(queueName);
+                } catch (NamingException ne) {
+                    try {
+                        oCtx = NamingContext.getFreshServerContext(environment);
+                        jmsQueue = (Queue) oCtx.lookup(queueName);
+                    } catch (NamingException nex) {
+                        //ActiveMQ
+                        jmsQueue = jmsSession.createQueue(queueName);
+                    }
                 }
+                jmsProducer = jmsSession.createSender(jmsQueue);
+                clean = false ;
+            } finally {
+                if (clean) {
+                    pool.closeSession(jmsSession) ;
+                }
             }
-            jmsProducer = jmsSession.createSender(jmsQueue);            
         }
         
         private void close() {




More information about the jboss-svn-commits mailing list