Not if the mapper is not thread safe, and when you have concurrent messages processed in that route.
You can store the mapper on exchange as a property and grab it in step2 and 3 if you want to reuse the same mapper per exchange. Or create a new mapper per step and do not reuse it On Thu, Mar 20, 2014 at 6:24 PM, Olaf <omgolafg...@gmail.com> wrote: > Hello, > > would the following route work correctly with multiple threads? In > beanRef("TestProcessor", "step2") the instance variable mapper is used, so I > suppose it is not thread safe, right? Should I set the mapper as a property > of the exchange? > > from(inputsource) > .beanRef("TestProcessor", "step1") > .beanRef("TestProcessor", "step2") > .beanRef("TestProcessor", "step3") > .log("${body}") > > > package testcamel; > > import java.util.Map; > import org.apache.camel.Headers; > > public class TestProcessor { > > private String generator; > private JsonMapper mapper; > > public String step1(String filedata, @Headers Map headers) { > //create mapper for each new message > mapper = new JsonMapper(); > //do something here > return "resultFromStep1"; > > } > > public String step2(String contentFromStep1) { > //do something here with mapper > mapper.doSomething(); > return "resultFromStep2"; > } > > public String step3(String contentFromStep2) { > //do something here with mapper > mapper.doSomething(); > return "resultFromStep2"; > } > > } > > > > -- > View this message in context: > http://camel.465427.n5.nabble.com/bean-members-with-parallel-processing-tp5749157.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 Make your Camel applications look hawt, try: http://hawt.io