You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2014/10/14 12:33:51 UTC

svn commit: r1631712 - /qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java

Author: rgodfrey
Date: Tue Oct 14 10:33:50 2014
New Revision: 1631712

URL: http://svn.apache.org/r1631712
Log:
QPID-6088 : only reset the credit window if the credit window has been expanded

Modified:
    qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java

Modified: qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java?rev=1631712&r1=1631711&r2=1631712&view=diff
==============================================================================
--- qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java (original)
+++ qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java Tue Oct 14 10:33:50 2014
@@ -32,6 +32,7 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
+import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import javax.jms.Destination;
@@ -98,6 +99,7 @@ public class AMQSession_0_8 extends AMQS
 
     /** Flow control */
     private FlowControlIndicator _flowControl = new FlowControlIndicator();
+    private final AtomicBoolean _creditChanged = new AtomicBoolean();
 
     /**
      * Creates a new session on a connection.
@@ -858,6 +860,7 @@ public class AMQSession_0_8 extends AMQS
 
                             getProtocolHandler().syncWrite(basicQosBody.generateFrame(getChannelId()),
                                                            BasicQosOkBody.class);
+                            _creditChanged.set(true);
                             return true;
                         }
                         else
@@ -874,7 +877,7 @@ public class AMQSession_0_8 extends AMQS
         int acknowledgeMode = getAcknowledgeMode();
         boolean manageCredit = acknowledgeMode == javax.jms.Session.CLIENT_ACKNOWLEDGE || acknowledgeMode == javax.jms.Session.SESSION_TRANSACTED;
 
-        if(manageCredit)
+        if(manageCredit && _creditChanged.compareAndSet(true,false))
         {
             new FailoverNoopSupport<>(
                     new FailoverProtectedOperation<Void, AMQException>()



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org