diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2015-01-14 21:04:57 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2015-01-14 21:04:57 +0000 |
| commit | 64e2d8c98347ad00624dfa578894e4415c691bb8 (patch) | |
| tree | 441fd7d42d7e3a50e0081c5d00e6189d202ecbc2 /qpid/java | |
| parent | 52e0779fdc35b7ce6614f1b16f4328613c837655 (diff) | |
| download | qpid-python-64e2d8c98347ad00624dfa578894e4415c691bb8.tar.gz | |
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
Diffstat (limited to 'qpid/java')
| -rw-r--r-- | qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/MessageConsumerImpl.java | 17 |
1 files changed, 16 insertions, 1 deletions
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 b0b31d6e7b..c4638616fa 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.HashMap; 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.InvalidDestinationException; 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 @@ public class MessageConsumerImpl implements MessageConsumer, QueueReceiver, Topi 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; |
