Thanks Christian for the response. If I understand your response correctly, a single instance of processor will be shared between thread safe. Isn't that inefficient?
In my specific example, I have a processor RequestProcessor which extracts the body of the exchange, parses the body into an XML document and examines element values using XPATH , and does some additional processing. RequestProcessor(){ private DocumentBuilder db; public RequestProcessor(){ db=DobcumentBuilderFactory.newInstance(); // initialize DocumentBuilder } public void process(Exchange exchange){ String body = exchange.getIn().getBody(String.class) Document doc = db.parse(body); //process the doc. } } In the above example, if each HTTP thread is sharing the same RequestProcessor instance, won't it have performance impact if I have to synchronize "db.parse(body)" section or a more complex time consuming section ? Is there a way to create a pool of these processors so that each HTTP thread can use a dedicated process for the duration of a request ? Thanks -- View this message in context: http://camel.465427.n5.nabble.com/concurrent-users-with-camel-routes-tp5717888p5717906.html Sent from the Camel - Users mailing list archive at Nabble.com.