Author: rhs
Date: Fri Aug 15 01:21:01 2008
New Revision: 686172
URL: http://svn.apache.org/viewvc?rev=686172&view=rev
Log:
QPID-1245: use notifyMessage rather than onMessage in setMessageListener so
that messages from the synchronous queue actually get acked
Modified:
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java
incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/MessageListenerTest.java
Modified:
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java?rev=686172&r1=686171&r2=686172&view=diff
==============================================================================
---
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java
(original)
+++
incubator/qpid/trunk/qpid/java/client/src/main/java/org/apache/qpid/client/BasicMessageConsumer.java
Fri Aug 15 01:21:01 2008
@@ -280,7 +280,7 @@
Object o = _synchronousQueue.poll();
while (o != null)
{
- messageListener.onMessage((Message) o);
+ notifyMessage((AbstractJMSMessage) o);
o = _synchronousQueue.poll();
}
}
Modified:
incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/MessageListenerTest.java
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/MessageListenerTest.java?rev=686172&r1=686171&r2=686172&view=diff
==============================================================================
---
incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/MessageListenerTest.java
(original)
+++
incubator/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/client/MessageListenerTest.java
Fri Aug 15 01:21:01 2008
@@ -152,6 +152,16 @@
// Should have recieved all async messages
assertEquals(MSG_COUNT, receivedCount);
+ _clientConnection.close();
+
+ Connection conn = getConnection("guest", "guest");
+ Session clientSession = conn.createSession(false,
Session.AUTO_ACKNOWLEDGE);
+ Queue queue = clientSession.createQueue("message-listener-test-queue");
+ MessageConsumer cons = clientSession.createConsumer(queue);
+ conn.start();
+
+ // check that the messages were actually dequeued
+ assertTrue(cons.receive(2000) == null);
}
public void onMessage(Message message)