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();
+    }
+    
 }


Reply via email to