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