1 Reply Latest reply on Nov 16, 2011 4:19 PM by Sueleyman Vurucu

    Guarantee ordering with a delayed redelivery (FIFO)

    Sueleyman Vurucu Expert

      Hi,

      is it possible to configure HornetQ so that the reledivery of messages gurantee a FIFO behavior.

       

      My Consumer of the Topic is a Message Driven Bean which have the max pool size 1. So I have only one instance of the bean in the Pool.

       

      I need the folowing behaviour

       

      A and B are in the Queue

      deliver A (ok)

      deliver B (NOK/Transaction roll back) 

      C comes in

      deliver only B until is OK

      deliver C

       

      The current behavoir is

       

      A and B are in the Queue

      delivered A (ok)

      delivered B (NOK/Transaction roll back) 

      C comes in

      ----

      delvier B  (NOK/Transaction roll back) 

      deliver C  (NOK/Transaction roll back) 

      ---

      D Comes in

       

      delvier B  (NOK/Transaction roll back) 

      deliver D  (NOK/Transaction roll back) 

      deliver C  (NOK/Transaction roll back) 

       

      The order is random

       

      After a restart of  JBOSS I get only B until B is OK. Assumed, no other Message comes in.

       

      My Environment:

      JBoss AS 6.1.0-Fina l and JDK 1.6.27

      EJB version 3.1

      IDE Eclipse 3.7 and JBOSS Tools ( if its important )

       

      At last but not least, I now that JMS-Spec gives no gurantee that the messages have came in the right order. I want to know either HornetQ give this possibility or can I override the HornetQ Queue for example to gurantee this behavoir. Thanks in advance.