1 Reply Latest reply on Oct 26, 2012 4:19 AM by ataylor

    How HornetQ deal with runaway consumers

    yalwang

      Hi

       

      I am in the process of evaluating hornetQ for our async messaging framework. I am researching on the reliable delivery feature. I understand redelivery can happen when

       

      1. in transaction case, when a rollback called on session

      2. in non-transaction case, when session is closed, all the non-ACKed messages will be redelivered.

       

      But I looked through JMS doc and HornetQ user manual, there is no mention how to deal with runaway consumer, i.e. a consumer code takes a long time to finish that excceeds my SLA, while maintaining the session (or didn't get chance to call rollback). In case this runaway is not a systematic problem (i.e. a redelivery can solve the problem), set a redelivery timeout can help. Is there such mechanism in place?

       

      Thanks!

        • 1. Re: How HornetQ deal with runaway consumers
          ataylor

          it depends what you mean by a runaway consumer, if the client is still alaive and connected its up to you as the programmer to handle this, if the client has died then the server will detect this(after TTL) and requeue any messages not acked when it cleans up the consumers resources.