3 Replies Latest reply on Oct 15, 2013 10:23 AM by jbertram

    JBoss HornetQ flow configuration

    creichel

      Hi,

       

      I was checking the consumer-window-size (Window-Based Flow Control).

       

      Given the default message buffering behavior that gets some messages from the server and buffers on the client before it is consumed.

       

      1 - What happens if the client disconnects? This buffered messages are lost?

       

      2 - How it works when you have clusters?

       

       

      Thanks

        • 1. Re: JBoss HornetQ flow configuration
          jbertram

          When a client buffers a message the server realize that it has sent the message to the client but the client has not yet acknowledged the message.  Such messages are marked as "in delivery" (which you can see in the queue statistics).  If the client to whom those messages were sent disconnects then the server un-marks those messages as "in delivery" and makes them available to other clients.  In other words, the messages are not lost.

           

          I don't really understand what you're asking about clusters.

          1 of 1 people found this helpful
          • 2. Re: JBoss HornetQ flow configuration
            creichel

            Hey Justin, thanks for the answer.

             

            So I can assume that if a client doesn't send a disconnect then a timeout will occur right? (Any idea of how long is this timeout value set?)

             

            Cheers

            • 3. Re: JBoss HornetQ flow configuration
              jbertram

              So I can assume that if a client doesn't send a disconnect then a timeout will occur right?

              That's right.

               

              (Any idea of how long is this timeout value set?)

              See Detecting Dead Connections in the HornetQ documentation.