Hi Maybe use camel-jackson to unmarshal the json to a java.util.Map (it does that by default) http://camel.apache.org/json.html
And then you can use recipient list to call the 3 mongodb endpoints. http://camel.apache.org/how-to-use-a-dynamic-uri-in-to.html And from the java.util.Map object you can use the simple langue or groovy etc to access the entry you want simple("mongodb:${body['name']}&collection=name") On Thu, Nov 20, 2014 at 10:21 PM, gmh <gordon...@gmail.com> wrote: > All, > I am trying to come up with a processing pattern for a business case. > Assume we have something like this form a queue (ActiveMQ/Rabbbitmq) does > not matter > Below is the json > { > "name":"xyz" > "address": "123 Somewhere, USA" > "ssn": "1234" > } > For each name/value pair I want to make a call to the database with the > value that is provided. > so essentially it will be something like this: > Get value from name, insert value "xyz" into db with the collection > called name > Get value for address, insert value "123..." into mongodb with the > collection called > > from (activemq:queue name) > .to (mongodb:insert ($.name[0])&collection"name") > > How do I create different routes/queues via jsonpath expression to make it > happen? assuming we will always have the same name:value pair and therefore > the same collections. > > Gordon > > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/question-about-using-splitter-and-jsonpath-expression-tp5759384.html > Sent from the Camel - Users mailing list archive at Nabble.com. -- Claus Ibsen ----------------- Red Hat, Inc. Email: cib...@redhat.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen hawtio: http://hawt.io/ fabric8: http://fabric8.io/