James, direct is synchronous and can return a response...just use a ProducerTemplate in your processor to call the route like this...you also should reuse the producer template if there is a high volume of calls
Object result = exchange.getContext().createProducerTemplate().requestBody("direct:start","input message"); from("direct:start").setBody(simple("processed ${body}")); James Talbut wrote: > > Hi, > > I've got a processor that needs to call out to another Camel route > (multiple times) to get some data. > The complexities of when it calls out mean that it's not worth trying to > put all the logic into one route. > > What's the best component to use to make a camel route into a synchronous > function that can be called from the same VM? > I could put a web service around the route and call that service from a > normal CXF client, but that seems a bit heavyweight. > I could use a direct component to start the route, but that isn't > synchronous InOut (or can it be made so?) and it requires me to implement > CamelContextAware (to get > the Endpoint) which is a bit ugly. > > Thanks for any pointers. > > Jim > ----- Ben O'Day IT Consultant -http://consulting-notes.com -- View this message in context: http://camel.465427.n5.nabble.com/Best-component-to-use-for-a-synchronous-InOut-route-tp4583148p4583755.html Sent from the Camel - Users mailing list archive at Nabble.com.