1 Reply Latest reply on Jun 4, 2015 11:32 AM by jbertram

    HornetQ Re delivery and Duplicate Detection in Last Value Queue not working properly.

    abhishek_parikh

      I am using a Wildfly 8.1 and have the following scenario.

      I have a queue defined which is a Last Value Queue, now when the data is consumed by the consumer from the queue , whenever consumer rollbacks the transaction ideally my data should go back in the queue and come back for processing after some time, but what is happening is that it is going in the DLQ since it is detecting it as a duplicate and routing the message to DLQ, is that a behavior or a bug.

      **Example**

      For example I have the following queue defined.

       

       

          <jms-queue name="DataWritingQueue">

                                  <entry name="queue/ExampleQueue"/>

                                  <entry name="java:jboss/exported/jms/queue/ExampleQueue"/>

                              </jms-queue>

       

       

      And following is the setting which marks it as Last Value Queue.

            <address-setting match="jms.queue.ExampleQueue">

                                  <last-value-queue>true</last-value-queue>

                              </address-setting>

       

       

      Now when I send the message to queue I set the HQ_LVQ property. Now when my consumer is consuming , because of my application requirements I am rolling back the transaction which sends a signal to the queue to redeliver the message after 5 minute , this i have done using the configuration parameter

      <redelivery-delay>300000</redelivery-delay>

      But somehow the messages are moving to DLQ may be because it is detected as duplicate by the  LAST VALUE QUEUE.

       

      Can Someone help me out on this.