3 Replies Latest reply on Mar 8, 2012 9:07 PM by kaka11

    About BlockOnAcknowledge

    kaka11

      The manual said the parameter BlockOnAcknowledge set false will cause repeat messages, can somebody explain what situation will cause that, thanks!

       

       

      20.3. Guarantees of Non Transactional

      Acknowledgements

      If you are acknowledging the delivery of a message at the client side using a non transacted

      session, HornetQ can be configured to block the call to acknowledge until the acknowledge has

      definitely reached the server, and a response has been sent back to the client. This is configured

      with the parameter BlockOnAcknowledge. If this is set to true then all calls to acknowledge on

      non transacted sessions will block until the acknowledge has reached the server, and a response

      has been sent back. You might want to set this to true if you want to implement a strict at most

      once delivery policy. The default value is false.

        • 1. Re: About BlockOnAcknowledge
          leosbitto

          This seems easy: client calls acknowledge and proceeds without assurance that the acknowledge has really been processed by the server. The acknowledge is never processed by the server because of some failure (e.g. network), therefore the server will redeliver the same message again.

          • 2. Re: About BlockOnAcknowledge
            clebert.suconic

            Leos Bitto wrote:

             

            This seems easy: client calls acknowledge and proceeds without assurance that the acknowledge has really been processed by the server. The acknowledge is never processed by the server because of some failure (e.g. network), therefore the server will redeliver the same message again.

            +1000

            • 3. Re: About BlockOnAcknowledge
              kaka11

              ok, got it, thanks! I had a misunderstanding of that before, so this option will not block another message receive and ack on the client consumer side from the source code, am I right?