diff options
| author | Aidan Skinner <aidan@apache.org> | 2008-10-17 16:10:46 +0000 |
|---|---|---|
| committer | Aidan Skinner <aidan@apache.org> | 2008-10-17 16:10:46 +0000 |
| commit | 79096c8c072d8b378a989e2ac33513507de9b5a2 (patch) | |
| tree | 5d130af1d402c4987242b4de0f32da6b058fcb5b /qpid/java | |
| parent | 613206be5872b25118b5476ceb5f4dda3edd0a6b (diff) | |
| download | qpid-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.java | 1 | ||||
| -rw-r--r-- | qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ack/AcknowledgeTest.java | 16 |
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(); + } + } |
