summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorAidan Skinner <aidan@apache.org>2008-10-17 16:10:46 +0000
committerAidan Skinner <aidan@apache.org>2008-10-17 16:10:46 +0000
commit79096c8c072d8b378a989e2ac33513507de9b5a2 (patch)
tree5d130af1d402c4987242b4de0f32da6b058fcb5b /qpid/java
parent613206be5872b25118b5476ceb5f4dda3edd0a6b (diff)
downloadqpid-python-79096c8c072d8b378a989e2ac33513507de9b5a2.tar.gz
QPID-1373: Remove message for unack'd map when acking individual messages. Add test.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@705658 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java1
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ack/AcknowledgeTest.java16
2 files changed, 17 insertions, 0 deletions
diff --git a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java
index d1fb852c06..e5fc36c389 100644
--- a/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java
+++ b/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java
@@ -102,6 +102,7 @@ public final class AMQSession_0_8 extends AMQSession<BasicMessageConsumer_0_8, B
}
getProtocolHandler().writeFrame(ackFrame);
+ _unacknowledgedMessageTags.remove(deliveryTag);
}
public void sendQueueBind(final AMQShortString queueName, final AMQShortString routingKey, final FieldTable arguments,
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ack/AcknowledgeTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ack/AcknowledgeTest.java
index d0814ca5fc..b63f990791 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ack/AcknowledgeTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ack/AcknowledgeTest.java
@@ -31,6 +31,7 @@ import javax.jms.Session;
import org.apache.qpid.client.AMQDestination;
import org.apache.qpid.client.AMQSession;
+import org.apache.qpid.client.message.AbstractJMSMessage;
import org.apache.qpid.test.utils.QpidTestCase;
public class AcknowledgeTest extends QpidTestCase
@@ -141,4 +142,19 @@ public class AcknowledgeTest extends QpidTestCase
testMessageAck(true, Session.AUTO_ACKNOWLEDGE);
}
+ public void testIndividualAck() throws Exception
+ {
+ init(false, Session.CLIENT_ACKNOWLEDGE);
+ sendMessages(3);
+ Message msg = null;
+ for (int i = 0; i < 2; i++)
+ {
+ msg = _consumerA.receive(RECEIVE_TIMEOUT);
+ ((AbstractJMSMessage)msg).acknowledgeThis();
+ }
+ msg = _consumerA.receive(RECEIVE_TIMEOUT);
+ msg.acknowledge();
+ _con.close();
+ }
+
}