0 Replies Latest reply on Jan 6, 2016 10:38 AM by mrswenso

    JMS Request Reply Tuning

    mrswenso

      Hello,

       

      I am having problems with my JMS Request/Reply producing slow results in my flow. I would appreciate any help in increasing the speed of this flow. I assume that it is some configuration error I have made.

       

      What is happening in the flow:

      A JSON file is sent in through HTTP. It is then unmarshalled into XML. It is sent to a JMS Input Queue. A backend service picks the message up and alters it and puts it on a Output Queue. The message is picked off the output queue by the flow. The message is converted back into JSON. Finally the message is sent back out over HTTP.

       

      When testing the backend service alone I am getting roughly 10,000 msgs/second.

      If I take out the JMS Request/Reply in the flow I get between 10,000 and 20,000 messages per second.

      With the JMS Request Reply in the flow I get around 30 messages per second.

       

      Here is the flow:

      Screen Shot 2016-01-06 at 10.32.29 AM.png

      Here is the Source:

       

      <bean id="websphere" class="org.apache.camel.component.jms.JmsComponent">

              <property name="connectionFactory">

                  <bean class="com.ibm.mq.jms.MQConnectionFactory">

                      <property name="transportType" value="1" />

              <property name="hostName" value="10.14.5.188"/>

              <property name="port" value="1414"/>

              <property name="queueManager" value="WQM"/>

                <property name="channel" value="SYSTEM.ADMIN.SVRCONN"/>

                  </bean>

              </property>

          </bean>

       

        <camelContext xmlns="http://camel.apache.org/schema/blueprint">

        <route>

          <from uri="jetty:http://0.0.0.0:8888"/>

          <unmarshal>

            <xmljson arrayName="" rootName="payments"/>

          </unmarshal>

          <to pattern="InOut" uri="websphere:queue:InQ?replyTo=OutQ"/>

          <marshal>

            <xmljson/>

          </marshal>

        </route>

      </camelContext>

       

       

      The flow is working exactly as I want it other than the speed. If anyone could help this would be greatly appreciated.