3 Replies Latest reply on Jul 13, 2010 8:23 AM by Santiago Urrizola

    Problem with Reply Response (Producer Consumer)

    Santiago Urrizola Newbie



      • 2 nodes in cluster, for our example nodeA and nodeB
      • 1 producer directly connected to nodeA
      • 1 consumer directly connected to nodeB


      Test escenario

      1. Producer
        1. Create a connection to nodeA (explicit)
        2. Producer create a TextMessage (replyMessage)
        3. Prodeucer set the replyToQueue property of the message to "exampleResponseQueue"
        4. Producer send a message to a queue "exampleQueue"
        5. Producer create a Consumer on a queue "exampleResponseQueue" and wait for the message
      2. Consumer
        1. Create a connection to nodeB (explicit)
        2. Consumer recive a message from a a queue "exampleQueue"
        3. Consumer Create a Text Message  (responseMessage)
        4. Consumer create a Producer
        5. Consumer send de responseMessage to "exampleResponseQueue"




      Under this scenario we want to simulate synchronic communication using hornetQ infrastructure, first the producer send the message to one queue then wait for the response form another queue.

      Ther problem is when the producer and consumer are in different nodes from the cluster, the replyMessage is  delivered from producer to nodeA to nodeB to consumer.

      But the responsemessage is never delivered from nodeA to nodeB.

      The attachment contains the hornetQ configurations (all the nodes from the clusters have the same configurations except form the host and port). And i also attach the Consumker and Producer, which are evolutions of the hornetq test cases



      Any Help will be appreciated, thanks in advance !!!



        • 1. Re: Problem with Reply Response (Producer Consumer)
          Tim Fox Master

          What version of HornetQ are you running? (Please make sure it's the latest version)

          • 2. Re: Problem with Reply Response (Producer Consumer)
            Santiago Urrizola Newbie

            Hi tim thanks a lot for your really fast answer !!!

            All ther configuration where tested in 2.0.0 version, that one is the version in production in our customer.


            Wer try some diferentes configurations like put the forward-when-no-consumer to  false and we also try to configure load balancing at the client and  server side.


            Now we are trying the 2.1.1 version and the problems with the message delivery seems to be fixed... but .. there is allways a but !!!

            We have some problems with the consumer and producer reconect after a node crash.


            1. Start a cluster with four nodes
            2. Start 4 producer (with dynamic discovery)
            3. Start the test i describe before
            4. In the middle of the test a node Crash (manually shutdown, disconnect the network interface, reboot the machine ... wherever...)
            5. All the consumer connected to the crashed node reconnect to another (implemented wirth Listner for a reconnect)
            6. But no message are delivered to those consumers
              1. Its like the cluster don't recognize the new consumers or the fact that one node of the cluster don't exist anymore


            Any suggestion?

            • 3. Re: Problem with Reply Response (Producer Consumer)
              Santiago Urrizola Newbie

              Hi all,

              any suggestion about this issue?

              We are trying to solve it but we have no advance.

              The test plan is:

              1- Start 4 nodes

              2- Start 1 consumer

              3- Start 2 producer

              4- Start the test (send messages and wait for the reply in another queue)

              5- Shutdown one of the node to which one of the consumer is connected to.

              6- The consumer reconnect to another node

              7- No message arrives to the consumer


              Any Help?