问题描述
I am trying to have a camel route, which would accept a payload on a http endpoint and then write that payload to a JMS queue.
The route that I have so far is below. But an empty message gets delivered to the jms queue. A message gets there, but it has no body.
Heres the route:
<route > <from uri="jetty:http://0.0.0.0:8050/add/Customer"/> <inOnly uri="jms:queue:Q.Customer" /> </route>
Heres the payload that I'm sending into to 'http://0.0.0.0:8050/add/Customer' endpoint:
<Customer xmlns="http://www.openapplications.org/9" xmlns:lw="http://www.org/9"> <Name>John</Name> <Gender>Female</Gender> </Customer>
Any inputs on why the message body is not being written to the jms queue? Thanks...
解决方案
Your routes worked as expected. I tested it with following setup:
<broker xmlns="http://www.51sjk.com/Upload/Articles/1/0/336/336770_20221115095008137.jpg" useJmx="true" persistent="false"> <transportConnectors> <transportConnector uri="tcp://localhost:61616" /> </transportConnectors> </broker> <bean id="jms" class="org.apache.activemq.camel.component.ActiveMQComponent"> <property name="brokerURL" value="failover:tcp://localhost:61616" /> </bean> <camelContext xmlns="http://www.51sjk.com/Upload/Articles/1/0/336/336770_20221115095013051.jpg"> <route > <from uri="jetty:http://0.0.0.0:8050/add/Customer"/> <inOnly uri="jms:queue:Q.Customer" /> </route> <route> <from uri="jms:queue:Q.Customer" /> <log message="Body: ${body}" /> </route> </camelContext>
I tested the route using the org.apache.camel.spring.Main helper class:
Main main = new Main(); main.setApplicationContextUri("META-INF/spring/jms-inout-producer.xml"); // change this main.start(); final Object body = "<Customer xmlns="http://www.openapplications.org/9" xmlns:lw="http://www.org/9"><Name>John</Name><Gender>Female</Gender></Customer>"; final ProducerTemplate template = main.getCamelTemplate(); template.requestBody("http://localhost:8050/add/Customer", body);
This lead to following output:
INFO Body: <Customer xmlns="http://www.openapplications.org/9" xmlns:lw="http://www.org/9"><Name>John</Name><Gender>Female</Gender></Customer>