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:
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.