summaryrefslogtreecommitdiff
path: root/qpid/java/client/src
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2015-01-20 16:47:50 +0000
committerRobert Godfrey <rgodfrey@apache.org>2015-01-20 16:47:50 +0000
commit9dfc81a98121ac26304790dd474a9bb4e3962496 (patch)
treea843b654d35d4926e99ab8e5da3da32a9c6d9946 /qpid/java/client/src
parent5d8797f0deec8ee295634f42fb6ac7b366e45165 (diff)
downloadqpid-python-9dfc81a98121ac26304790dd474a9bb4e3962496.tar.gz
QPID-6294 : Fix issue whereby AUTO ACK receive consumer would only ever receive one message since _currentPrefetch would never be zeroed
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1653293 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/client/src')
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_8.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_8.java b/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_8.java
index 3cc50512ed..1d7bb6087a 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_8.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer_0_8.java
@@ -22,6 +22,7 @@ package org.apache.qpid.client;
import javax.jms.JMSException;
import javax.jms.Message;
+import javax.jms.Session;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -182,7 +183,8 @@ public class BasicMessageConsumer_0_8 extends BasicMessageConsumer<UnprocessedMe
{
getSession().reduceCreditAfterAcknowledge();
}
- if (manageCredit && message != null)
+ if (manageCredit && !(getSession().getAcknowledgeMode() == Session.AUTO_ACKNOWLEDGE
+ || getSession().getAcknowledgeMode() == Session.DUPS_OK_ACKNOWLEDGE) && message != null)
{
getSession().updateCurrentPrefetch(1);
}
@@ -214,7 +216,8 @@ public class BasicMessageConsumer_0_8 extends BasicMessageConsumer<UnprocessedMe
{
getSession().reduceCreditAfterAcknowledge();
}
- if (manageCredit && message != null)
+ if (manageCredit && !(getSession().getAcknowledgeMode() == Session.AUTO_ACKNOWLEDGE
+ || getSession().getAcknowledgeMode() == Session.DUPS_OK_ACKNOWLEDGE) && message != null)
{
getSession().updateCurrentPrefetch(1);
}