1 Reply Latest reply on Feb 9, 2010 6:35 PM by Dave Stanley

    Tcp transportation does not send all the messages to queue

    Serge Vilvovsky Newbie

      I have a camel client that reads the xml file, splits it and send the text messages (about 30-50 bytes) to the ActiveMQ queue. When I use the vm as a transportation, everything works fine, but when I use the tcp://localhost:61616 as the brokerURL, I need to put the throttler in the camel route, otherwise not all the messages are coming. I have the same problem with ActiveMQ deployed in the Fuse ESB and stand alone Active MQ. The question is how to improve the performance, 20 messages per second is not enough. I have this problem only on ActiveMQ producer's side, consumer can work fine with both - tcp and vm.

       

      The camel route is:

       

      from(flightsSourceUri)

           .choice()

                .when(xpath("/messageHistory"))

                          .to("direct:processTZ")

           ....

       

      from("direct:processTZ")

           .splitter(xpath("//message"))

           .convertBodyTo(String.class)

      //     .throttler(20)

           .to(tzQueueUri);

       

      The bundle-context.xml contains:

       

       

       

      Edited by: sergevil@gmail.com on Jan 28, 2010 4:08 PM