You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2010/03/10 15:38:39 UTC

svn commit: r921371 - in /qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server: AMQChannel.java transport/ServerSession.java

Author: robbie
Date: Wed Mar 10 14:38:39 2010
New Revision: 921371

URL: http://svn.apache.org/viewvc?rev=921371&view=rev
Log:
QPID-2379: only inc/dec the outstanding txn count if the channel/session is transactional, obviously. Inc txnStart on ServerSession when selectTX is invoked.

Modified:
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java
    qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java?rev=921371&r1=921370&r2=921371&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/AMQChannel.java Wed Mar 10 14:38:39 2010
@@ -200,16 +200,22 @@ public class AMQChannel implements Sessi
     
     private void incrementOutstandingTxnsIfNecessary()
     {
-        //There can currently only be at most one outstanding transaction
-        //due to only having LocalTransaction support. Set value to 1 if 0.
-        _txnCount.compareAndSet(0,1);
+        if(isTransactional())
+        {
+            //There can currently only be at most one outstanding transaction
+            //due to only having LocalTransaction support. Set value to 1 if 0.
+            _txnCount.compareAndSet(0,1);
+        }
     }
     
     private void decrementOutstandingTxnsIfNecessary()
     {
-        //There can currently only be at most one outstanding transaction
-        //due to only having LocalTransaction support. Set value to 0 if 1.
-        _txnCount.compareAndSet(1,0);
+        if(isTransactional())
+        {
+            //There can currently only be at most one outstanding transaction
+            //due to only having LocalTransaction support. Set value to 0 if 1.
+            _txnCount.compareAndSet(1,0);
+        }
     }
 
     public Long getTxnStarts()

Modified: qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java?rev=921371&r1=921370&r2=921371&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java (original)
+++ qpid/trunk/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerSession.java Wed Mar 10 14:38:39 2010
@@ -401,6 +401,7 @@ public class ServerSession extends Sessi
     public void selectTx()
     {
         _transaction = new LocalTransaction(this.getMessageStore());
+        _txnStarts.incrementAndGet();
     }
 
     public void commit()
@@ -424,16 +425,22 @@ public class ServerSession extends Sessi
     
     private void incrementOutstandingTxnsIfNecessary()
     {
-        //There can currently only be at most one outstanding transaction
-        //due to only having LocalTransaction support. Set value to 1 if 0.
-        _txnCount.compareAndSet(0,1);
+        if(isTransactional())
+        {
+            //There can currently only be at most one outstanding transaction
+            //due to only having LocalTransaction support. Set value to 1 if 0.
+            _txnCount.compareAndSet(0,1);
+        }
     }
     
     private void decrementOutstandingTxnsIfNecessary()
     {
-        //There can currently only be at most one outstanding transaction
-        //due to only having LocalTransaction support. Set value to 0 if 1.
-        _txnCount.compareAndSet(1,0);
+        if(isTransactional())
+        {
+            //There can currently only be at most one outstanding transaction
+            //due to only having LocalTransaction support. Set value to 0 if 1.
+            _txnCount.compareAndSet(1,0);
+        }
     }
 
     public Long getTxnStarts()



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org