[jboss-svn-commits] JBL Code SVN: r34290 - in labs/jbossesb/workspace/platform/JBESB_4_4_SOA_4_3_CP2_1081443/product: rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Jul 29 07:37:41 EDT 2010


Author: kevin.conner at jboss.com
Date: 2010-07-29 07:37:40 -0400 (Thu, 29 Jul 2010)
New Revision: 34290

Modified:
   labs/jbossesb/workspace/platform/JBESB_4_4_SOA_4_3_CP2_1081443/product/build.xml
   labs/jbossesb/workspace/platform/JBESB_4_4_SOA_4_3_CP2_1081443/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsConnectionPool.java
   labs/jbossesb/workspace/platform/JBESB_4_4_SOA_4_3_CP2_1081443/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsSession.java
   labs/jbossesb/workspace/platform/JBESB_4_4_SOA_4_3_CP2_1081443/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsXASession.java
Log:
Merged 2030

Modified: labs/jbossesb/workspace/platform/JBESB_4_4_SOA_4_3_CP2_1081443/product/build.xml
===================================================================
--- labs/jbossesb/workspace/platform/JBESB_4_4_SOA_4_3_CP2_1081443/product/build.xml	2010-07-29 11:33:38 UTC (rev 34289)
+++ labs/jbossesb/workspace/platform/JBESB_4_4_SOA_4_3_CP2_1081443/product/build.xml	2010-07-29 11:37:40 UTC (rev 34290)
@@ -37,7 +37,7 @@
 	<property name="org.jboss.esb.internal.jar.dest" location="build/jbossesb/lib"/>
 
 	<!-- JBoss ESB version -->
-	<property name="version" value="4.3.0"/>
+	<property name="version" value="4.3.0_1081443"/>
 	<property name="esb.server.name" value="soa-server-${version}"/>
 	<property name="esbserver.dist.dir" value="${org.jboss.esb.internal.dest}/${esb.server.name}"/>
 

Modified: labs/jbossesb/workspace/platform/JBESB_4_4_SOA_4_3_CP2_1081443/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsConnectionPool.java
===================================================================
--- labs/jbossesb/workspace/platform/JBESB_4_4_SOA_4_3_CP2_1081443/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsConnectionPool.java	2010-07-29 11:33:38 UTC (rev 34289)
+++ labs/jbossesb/workspace/platform/JBESB_4_4_SOA_4_3_CP2_1081443/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsConnectionPool.java	2010-07-29 11:37:40 UTC (rev 34290)
@@ -609,14 +609,8 @@
         }
     }
 
-    synchronized JmsSessionPool findOwnerPool(final JmsSession session) {
-        for(JmsSessionPool sessionPool : sessionPools) {
-            if(sessionPool.isOwnerPool(session)) {
-                return sessionPool;
-            }
-        }
-
-        return null;
+    JmsSessionPool findOwnerPool(final JmsSession session) {
+        return session.getSessionPool() ;
     }
 
     static
@@ -682,25 +676,6 @@
             inUseSessionsMap.put(Session.DUPS_OK_ACKNOWLEDGE, new ArrayList<JmsSession>() );
         }
 
-        private boolean isOwnerPool(JmsSession session) {
-            if (isInList(session, freeSessionsMap.values())) {
-                return true;
-            } else if (isInList(session, inUseSessionsMap.values())) {
-                return true;
-            }
-
-            return false;
-        }
-
-        private boolean isInList(JmsSession session, Collection<ArrayList<JmsSession>> sessionLists) {
-            for(ArrayList<JmsSession> sessionList : sessionLists) {
-                if(sessionList.contains(session)) {
-                    return true;
-                }
-            }
-            return false;
-        }
-
         public synchronized void removeSessionPool() {
             freeSessionsMap = null ;
             inUseSessionsMap = null ;
@@ -815,9 +790,9 @@
                     final JmsSession session ;
 
                     if (transacted) {
-                        session = new JmsXASession(JmsConnectionPool.this, ((XAConnection)currentConnection).createXASession(), currentID);
+                        session = new JmsXASession(JmsConnectionPool.this, JmsSessionPool.this, ((XAConnection)currentConnection).createXASession(), currentID);
                     } else {
-                        session = new JmsSession(JmsConnectionPool.this, currentConnection.createSession(transacted, acknowledgeMode), currentID);
+                        session = new JmsSession(JmsConnectionPool.this, JmsSessionPool.this, currentConnection.createSession(transacted, acknowledgeMode), currentID);
                     }
 
                     return session ;

Modified: labs/jbossesb/workspace/platform/JBESB_4_4_SOA_4_3_CP2_1081443/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsSession.java
===================================================================
--- labs/jbossesb/workspace/platform/JBESB_4_4_SOA_4_3_CP2_1081443/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsSession.java	2010-07-29 11:33:38 UTC (rev 34289)
+++ labs/jbossesb/workspace/platform/JBESB_4_4_SOA_4_3_CP2_1081443/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsSession.java	2010-07-29 11:37:40 UTC (rev 34290)
@@ -47,6 +47,8 @@
 import javax.jms.Topic;
 import javax.jms.TopicSubscriber;
 
+import org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.JmsSessionPool;
+
 /**
  * Wrapper for JMS session class, responsible for tracking resources and the pooling.
  */
@@ -55,8 +57,12 @@
     /**
      * The connection pool.
      */
-    private final JmsConnectionPool pool ;
+    private final JmsConnectionPool connectionPool ;
     /**
+     * The session pool.
+     */
+    private final JmsSessionPool sessionPool ;
+    /**
      * The session delegate.
      */
     private final Session session ;
@@ -88,18 +94,20 @@
     
     /**
      * Create the session wrapper.
-     * @param pool The pool associated with this session.
+     * @param connectionPool The connection pool associated with this session.
+     * @param sessionPool The session pool associated with this session.
      * @param session The session delegate.
      * @param id The pool instance id.
      * @param isJTA True if this tales part in a JTA transaction
      * @throws JMSException
      */
-    JmsSession(final JmsConnectionPool pool, final Session session, final long id)
+    JmsSession(final JmsConnectionPool connectionPool, final JmsSessionPool sessionPool, final Session session, final long id)
         throws JMSException
     {
-        this.pool = pool ;
+        this.connectionPool = connectionPool ;
+        this.sessionPool = sessionPool ;
         this.id = id ;
-        this.session = (Session)getExceptionHandler(pool, Session.class, session) ;
+        this.session = (Session)getExceptionHandler(connectionPool, Session.class, session) ;
         acknowledgeMode = session.getAcknowledgeMode() ;
         // Workaround for JBESB-1873
         if ("org.jboss.jms.client.JBossSession".equals(session.getClass().getName()))
@@ -300,7 +308,7 @@
         }
         final QueueBrowser result = getQueueBrowser(queueBrowser) ;
         queueBrowserSet.add(result) ;
-        return (QueueBrowser)getExceptionHandler(pool, QueueBrowser.class, result) ;
+        return (QueueBrowser)getExceptionHandler(connectionPool, QueueBrowser.class, result) ;
     }
 
     private synchronized MessageConsumer trackMessageConsumer(MessageConsumer messageConsumer)
@@ -313,7 +321,7 @@
         }
         final MessageConsumer result = getMessageConsumer(messageConsumer) ;
         messageConsumerSet.add(result) ;
-        return (MessageConsumer)getExceptionHandler(pool, MessageConsumer.class, result) ;
+        return (MessageConsumer)getExceptionHandler(connectionPool, MessageConsumer.class, result) ;
     }
 
     private synchronized TopicSubscriber trackTopicSubscriber(TopicSubscriber topicSubscriber)
@@ -326,7 +334,7 @@
         }
         final TopicSubscriber result = getTopicSubscriber(topicSubscriber) ;
         messageConsumerSet.add(result) ;
-        return (TopicSubscriber)getExceptionHandler(pool, TopicSubscriber.class, result) ;
+        return (TopicSubscriber)getExceptionHandler(connectionPool, TopicSubscriber.class, result) ;
     }
 
     private synchronized MessageProducer trackMessageProducer(MessageProducer messageProducer)
@@ -339,7 +347,7 @@
         }
         final MessageProducer result = getMessageProducer(messageProducer) ;
         messageProducerSet.add(result) ;
-        return (MessageProducer)getExceptionHandler(pool, MessageProducer.class, result) ;
+        return (MessageProducer)getExceptionHandler(connectionPool, MessageProducer.class, result) ;
     }
 
     synchronized void releaseResources()
@@ -411,6 +419,11 @@
     {
     }
     
+    protected JmsSessionPool getSessionPool()
+    {
+        return sessionPool ;
+    }
+    
     protected void setSuspect(final boolean suspect)
     {
         this.suspect = suspect ;
@@ -423,15 +436,15 @@
 
     /**
      * Wrap the object in an exception handler.
-     * @param pool The pool associated with this session.
+     * @param connectionPool The connection pool associated with this session.
      * @param instanceClass The interface type of the instance.
      * @param instance The instance
      * @return 
      */
-    protected Object getExceptionHandler(final JmsConnectionPool pool,
+    protected Object getExceptionHandler(final JmsConnectionPool connectionPool,
             final Class<?> instanceClass, final Object instance)
     {
-        final InvocationHandler handler = new ExceptionHandler(pool, instance) ;
+        final InvocationHandler handler = new ExceptionHandler(connectionPool, instance) ;
         return Proxy.newProxyInstance(getClass().getClassLoader(), new Class[] {instanceClass}, handler);
     }
     

Modified: labs/jbossesb/workspace/platform/JBESB_4_4_SOA_4_3_CP2_1081443/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsXASession.java
===================================================================
--- labs/jbossesb/workspace/platform/JBESB_4_4_SOA_4_3_CP2_1081443/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsXASession.java	2010-07-29 11:33:38 UTC (rev 34289)
+++ labs/jbossesb/workspace/platform/JBESB_4_4_SOA_4_3_CP2_1081443/product/rosetta/src/org/jboss/internal/soa/esb/rosetta/pooling/JmsXASession.java	2010-07-29 11:37:40 UTC (rev 34290)
@@ -36,6 +36,7 @@
 import javax.transaction.Synchronization;
 import javax.transaction.xa.XAResource;
 
+import org.jboss.internal.soa.esb.rosetta.pooling.JmsConnectionPool.JmsSessionPool;
 import org.jboss.soa.esb.common.TransactionStrategy;
 import org.jboss.soa.esb.common.TransactionStrategyException;
 
@@ -47,7 +48,7 @@
     /**
      * The connection pool.
      */
-    private final JmsConnectionPool pool ;
+    private final JmsConnectionPool connectionPool ;
     
     /**
      * The session delegate.
@@ -71,17 +72,18 @@
     
     /**
      * Create the session wrapper.
-     * @param pool The current connection pool
+     * @param connectionPool The current connection pool
+     * @param sessionPool The current session pool
      * @param session The session delegate.
      * @param id The pool instance id.
      * @throws JMSException
      */
-    JmsXASession(final JmsConnectionPool pool, final XASession session, final long id)
+    JmsXASession(final JmsConnectionPool connectionPool, final JmsSessionPool sessionPool, final XASession session, final long id)
         throws JMSException
     {
-        super(pool, session, id) ;
-        this.pool = pool ;
-        this.session = (XASession)getExceptionHandler(pool, XASession.class, session) ;
+        super(connectionPool, sessionPool, session, id) ;
+        this.connectionPool = connectionPool ;
+        this.session = (XASession)getExceptionHandler(connectionPool, XASession.class, session) ;
     }
     
     @Override
@@ -141,7 +143,7 @@
         }
         else
         {
-            pool.handleCloseSession(this) ;
+            connectionPool.handleCloseSession(this) ;
         }
     }
     
@@ -153,7 +155,7 @@
         }
         else
         {
-            pool.handleReleaseSession(this) ;
+            connectionPool.handleReleaseSession(this) ;
         }
     }
     
@@ -179,7 +181,7 @@
             }
             try
             {
-                pool.associateTransaction(this) ;
+                connectionPool.associateTransaction(this) ;
             }
             catch (final ConnectionException ce)
             {
@@ -199,18 +201,18 @@
     
     public synchronized void afterCompletion(final int result)
     {
-        pool.disassociateTransaction(this) ;
+        connectionPool.disassociateTransaction(this) ;
         switch (cleanupAction)
         {
         case close:
             if (result == Status.STATUS_COMMITTED)
             {
-                pool.handleCloseSession(this) ;
+                connectionPool.handleCloseSession(this) ;
                 break ;
             }
             // fall through
         case release:
-            pool.handleReleaseSession(this) ;
+            connectionPool.handleReleaseSession(this) ;
             break ;
         case none:
             // Reference held by caller



More information about the jboss-svn-commits mailing list