3 Replies Latest reply on Aug 31, 2012 10:34 AM by ataylor

    server -> client sending fails (from server perspective)

    zont


      Hi All

       

      Following situation:

       

      The server sends a small message form a queue to a client (non-transact, CLIENT_ACK). After the entire message is sent and Before the message arrives the client (the message is still flying...), the network connection fails so  the client does nothing know about that message.

       

       

      Since the server has not received the acknowledge AND the client-session does still exist on the server,

      it doesn't send the message again (the rdelivery happens after the session is closed or session.recovery() ).

       

       

      So, how does the server recognize the lost message OR how can I force the redelivery? Thank you.

       

      HornetQ version: 2.1.14

        • 1. Re: server -> client sending fails (from server perspective)
          ataylor

          the message is redelivered once the session is closed, if a network connection fails this happens after the ConnectionTTL setting on the connection factory, 30 seconds by default i think

          • 2. Re: server -> client sending fails (from server perspective)
            zont

            Thank you Andy for the reply

             

            yes, you are right - the client session will still exist on the server if the connection fail was shorter than ConTTL.

             

            But it means also that the message will not be resent until the client recreates the session. The client could

            recreate it, but the problem is, it doesn't know WHEN to do it, because it does nothing know about the lost

            message... (sorry for my robot english).

             

            It is really a problem for me, because my session can live very long so the message will not be redelivered in

            an acceptable time...

             

            How could I manage such situation? Thank you.

            • 3. Re: server -> client sending fails (from server perspective)
              ataylor

              you need to either configure your session either to reconnect or write some code to do the reconnecting yourself.

               

              All this is in the user manual and there are examples covering this.