You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Tim Burrage (JIRA)" <ji...@apache.org> on 2015/03/26 18:04:54 UTC

[jira] [Created] (AMQ-5688) JMSRedeilivery not set if Consumer restarted.

Tim Burrage created AMQ-5688:
--------------------------------

             Summary: JMSRedeilivery not set if Consumer restarted.
                 Key: AMQ-5688
                 URL: https://issues.apache.org/jira/browse/AMQ-5688
             Project: ActiveMQ
          Issue Type: Bug
    Affects Versions: 5.11.1
            Reporter: Tim Burrage


With a Client Acked session:-
session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);

Pull a message off the broker:-
Message message = consumer.receive(1000);

Now kill the consumer JVM. Restart the consumer and pull a message off the consumer; it's the same message as received in the previous run, but JMSRedelivered=false, redeliveryCounter=0.

I've tried recovering the session before I read the first message off the queue (session.recover();) but this has no impact.

If however I read the first message AND THEN recover the session (not acking the just received message), the message is re-delivered and JMSRedelivered=true, redeliveryCounter=1.


I have tried with a transacted Consumer (session = connection.createSession(true, Session.SESSION_TRANSACTED);) this has the same problem, but I can't solve it with session.recover() as it's transacted.

This is a master/slave setup with 3 brokers. I am not restarting the broker between tests, simply killing the Consumer JVM

I've set persistJMSRedelivered, but this has no impact


<destinationPolicy>
            <policyMap>
              <policyEntries>
                <policyEntry topic=">" persistJMSRedelivered="true">
                  <pendingMessageLimitStrategy>
                    <constantPendingMessageLimitStrategy limit="1000"/>
                  </pendingMessageLimitStrategy>
                </policyEntry>
              </policyEntries>
            </policyMap>
        </destinationPolicy>






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)