Author: rgodfrey
Date: Fri Oct 10 11:43:50 2014
New Revision: 1630766

URL: http://svn.apache.org/r1630766
Log:
QPID-6141 : Fix recover() for onMessage client-ack sessions

Modified:
    
qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageConsumerImpl.java
    
qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java

Modified: 
qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageConsumerImpl.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageConsumerImpl.java?rev=1630766&r1=1630765&r2=1630766&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageConsumerImpl.java
 (original)
+++ 
qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageConsumerImpl.java
 Fri Oct 10 11:43:50 2014
@@ -300,6 +300,12 @@ public class MessageConsumerImpl impleme
         }
     }
 
+    Message receiveRecoveredMessage()
+    {
+        return _replaymessages.isEmpty() ? null :  _replaymessages.remove(0);
+
+    }
+
     Message receive0(final long timeout)
     {
 

Modified: 
qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java?rev=1630766&r1=1630765&r2=1630766&view=diff
==============================================================================
--- 
qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java
 (original)
+++ 
qpid/trunk/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/SessionImpl.java
 Fri Oct 10 11:43:50 2014
@@ -922,7 +922,15 @@ public class SessionImpl implements Sess
                         else
                         {
                             consumer = _messageConsumerList.remove(0);
-                            msg = consumer.receive0(0L);
+                            msg = consumer.receiveRecoveredMessage();
+                            if(msg == null)
+                            {
+                                msg = consumer.receive0(0L);
+                            }
+                            else
+                            {
+                                recoveredMessage = true;
+                            }
                         }
 
                         MessageListener listener = consumer._messageListener;



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org

Reply via email to