QPID-6313 : [JMS AMQP 1.0 Client] increment redelivery count when recover() is called

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1651826 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageConsumerImpl.java b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageConsumerImpl.java
index b0b31d6..c463861 100644
--- a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageConsumerImpl.java
+++ b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageConsumerImpl.java
@@ -25,6 +25,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
+
 import javax.jms.Destination;
 import javax.jms.ExceptionListener;
 import javax.jms.IllegalStateException;
@@ -32,19 +33,20 @@
 import javax.jms.InvalidSelectorException;
 import javax.jms.JMSException;
 import javax.jms.MessageListener;
+
 import org.apache.qpid.amqp_1_0.client.AcknowledgeMode;
 import org.apache.qpid.amqp_1_0.client.ConnectionErrorException;
 import org.apache.qpid.amqp_1_0.client.Message;
 import org.apache.qpid.amqp_1_0.client.Receiver;
 import org.apache.qpid.amqp_1_0.client.Transaction;
 import org.apache.qpid.amqp_1_0.jms.MessageConsumer;
+import org.apache.qpid.amqp_1_0.jms.MessageConsumerException;
 import org.apache.qpid.amqp_1_0.jms.Queue;
 import org.apache.qpid.amqp_1_0.jms.QueueReceiver;
 import org.apache.qpid.amqp_1_0.jms.Session;
 import org.apache.qpid.amqp_1_0.jms.TemporaryDestination;
 import org.apache.qpid.amqp_1_0.jms.Topic;
 import org.apache.qpid.amqp_1_0.jms.TopicSubscriber;
-import org.apache.qpid.amqp_1_0.jms.MessageConsumerException;
 import org.apache.qpid.amqp_1_0.type.Binary;
 import org.apache.qpid.amqp_1_0.type.Symbol;
 import org.apache.qpid.amqp_1_0.type.UnsignedInteger;
@@ -333,10 +335,23 @@
             message.setFromTopic(_isTopicSubscriber);
             if(redelivery)
             {
+                UnsignedInteger failures = message.getDeliveryFailures();
+
                 if(!message.getJMSRedelivered())
                 {
                     message.setJMSRedelivered(true);
                 }
+
+                if(failures == null)
+                {
+                    message.setDeliveryFailures(UnsignedInteger.ONE);
+                }
+                else
+                {
+                    message.setDeliveryFailures(failures.add(UnsignedInteger.ONE));
+                }
+
+
             }
 
             return message;