Author: aidan
Date: Fri Oct 17 09:10:46 2008
New Revision: 705658
URL: http://svn.apache.org/viewvc?rev=705658&view=rev
Log:
QPID-1373: Remove message for unack'd map when acking individual messages. Add
test.
Modified:
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java
incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ack/AcknowledgeTest.java
Modified:
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java?rev=705658&r1=705657&r2=705658&view=diff
==============================================================================
---
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java
(original)
+++
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_8.java
Fri Oct 17 09:10:46 2008
@@ -102,6 +102,7 @@
}
getProtocolHandler().writeFrame(ackFrame);
+ _unacknowledgedMessageTags.remove(deliveryTag);
}
public void sendQueueBind(final AMQShortString queueName, final
AMQShortString routingKey, final FieldTable arguments,
Modified:
incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ack/AcknowledgeTest.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ack/AcknowledgeTest.java?rev=705658&r1=705657&r2=705658&view=diff
==============================================================================
---
incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ack/AcknowledgeTest.java
(original)
+++
incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/unit/ack/AcknowledgeTest.java
Fri Oct 17 09:10:46 2008
@@ -31,6 +31,7 @@
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 @@
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();
+ }
+
}