You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2014/10/10 13:43:50 UTC

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

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-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org