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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to