[jira] [Commented] (CAMEL-12638) DefaultFluentProducerTemplate is not thread safe
[ https://issues.apache.org/jira/browse/CAMEL-12638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16573192#comment-16573192 ] Lukasz commented on CAMEL-12638: The fix looks good to me, thank you! > DefaultFluentProducerTemplate is not thread safe > > > Key: CAMEL-12638 > URL: https://issues.apache.org/jira/browse/CAMEL-12638 > Project: Camel > Issue Type: Bug > Components: camel-core >Affects Versions: 2.20.2 >Reporter: Lukasz >Assignee: Claus Ibsen >Priority: Major > Fix For: 2.21.3, 2.22.1, 2.23.0 > > Attachments: image-2018-07-12-17-58-09-225.png > > > I think we have rediscovered the CAMEL-10820 bug. A body of one request gets > replaced with a body of proceeding request, in our case we use *request()* > method instead of *asyncSend()*. > We use camel together with spring-boot. Consider following code: > > {code:java} > @Service > public class UseCamelService { >private FluentProducerTemplate producer; >@Autowired >public UseCamelService(FluentProducerTemplate producer) { > this.producer = producer; >} >public String getValueFromCamel(String body) { > return producer.to("route").withBody(body).request(String.class); >} > } > {code} > If *UseCamelService.getValueFromCamel()* gets called from two different > threads it is possible for the latter one to override the body of the first > one. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (CAMEL-12638) DefaultFluentProducerTemplate is not thread safe
[ https://issues.apache.org/jira/browse/CAMEL-12638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16554613#comment-16554613 ] Lukasz commented on CAMEL-12638: {quote}So I just add a comment that we need treat FluentProducerTemplate as a Builder. {quote} [~njiang] I kind of feel like this is not enough... If we want to avoid further confusion and potential production issues (our case) I think the class should be either made thread-safe for all operations *or* **it should not be possible to use it as a _ProducerTemplate_ (and don't create a singleton of this class as part of spring-boot-starter). > DefaultFluentProducerTemplate is not thread safe > > > Key: CAMEL-12638 > URL: https://issues.apache.org/jira/browse/CAMEL-12638 > Project: Camel > Issue Type: Bug > Components: camel-core >Affects Versions: 2.20.2 >Reporter: Lukasz >Priority: Major > Attachments: image-2018-07-12-17-58-09-225.png > > > I think we have rediscovered the CAMEL-10820 bug. A body of one request gets > replaced with a body of proceeding request, in our case we use *request()* > method instead of *asyncSend()*. > We use camel together with spring-boot. Consider following code: > > {code:java} > @Service > public class UseCamelService { >private FluentProducerTemplate producer; >@Autowired >public UseCamelService(FluentProducerTemplate producer) { > this.producer = producer; >} >public String getValueFromCamel(String body) { > return producer.to("route").withBody(body).request(String.class); >} > } > {code} > If *UseCamelService.getValueFromCamel()* gets called from two different > threads it is possible for the latter one to override the body of the first > one. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Comment Edited] (CAMEL-12638) DefaultFluentProducerTemplate is not thread safe
[ https://issues.apache.org/jira/browse/CAMEL-12638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16541562#comment-16541562 ] Lukasz edited comment on CAMEL-12638 at 7/12/18 3:52 PM: - I'm not really convinced by that [~njiang]. Even in the _Camel in Action (Second Edition)_ book, [~davsclaus] and [~janstey] use it as a standard bean that can be called to execute a service, not as a builder (see _Listing 7.12 JAX-RS_ _REST implementation_)_:_ {code:java} @ApplicationScoped @Path ( "/api" ) public class RulesController { @Inject @Uri ( "direct:inventory" ) private FluentProducerTemplate producer; @GET @Produces ( MediaType.APPLICATION_JSON ) @Path ( "/rules/{cartIds}" ) public List rules( @PathParam ( "cartIds" ) String cartIds ) { List answer = new ArrayList<>(); ItemsDto inventory = producer.request( ItemsDto.class ); [...] } }{code} Obviously they don't refer to a specific implementation but we can all imagine which implementation is provided by default. Also if it was supposed to be *just* a builder I find it misleading that the class actually implements a _Service_ interface. was (Author: lucas_): I'm not really convinced by that [~njiang]. Even in the _Camel in Action (Second Edition)_ book, [~cib...@e-ma.net] and [~janstey] use it as a standard bean that can be called to execute a service, not as a builder (see _Listing 7.12 JAX-RS_ _REST implementation_)_:_ {code:java} @ApplicationScoped @Path ( "/api" ) public class RulesController { @Inject @Uri ( "direct:inventory" ) private FluentProducerTemplate producer; @GET @Produces ( MediaType.APPLICATION_JSON ) @Path ( "/rules/{cartIds}" ) public List rules( @PathParam ( "cartIds" ) String cartIds ) { List answer = new ArrayList<>(); ItemsDto inventory = producer.request( ItemsDto.class ); [...] } }{code} Obviously they don't refer to a specific implementation but we can all imagine which implementation is provided by default. Also if it was supposed to be *just* a builder I find it misleading that the class actually implements a _Service_ interface. > DefaultFluentProducerTemplate is not thread safe > > > Key: CAMEL-12638 > URL: https://issues.apache.org/jira/browse/CAMEL-12638 > Project: Camel > Issue Type: Bug > Components: camel-core >Affects Versions: 2.20.2 >Reporter: Lukasz >Priority: Major > > I think we have rediscovered the CAMEL-10820 bug. A body of one request gets > replaced with a body of proceeding request, in our case we use *request()* > method instead of *asyncSend()*. > We use camel together with spring-boot. Consider following code: > > {code:java} > @Service > public class UseCamelService { >private FluentProducerTemplate producer; >@Autowired >public UseCamelService(FluentProducerTemplate producer) { > this.producer = producer; >} >public String getValueFromCamel(String body) { > return producer.to("route").withBody(body).request(String.class); >} > } > {code} > If *UseCamelService.getValueFromCamel()* gets called from two different > threads it is possible for the latter one to override the body of the first > one. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Comment Edited] (CAMEL-12638) DefaultFluentProducerTemplate is not thread safe
[ https://issues.apache.org/jira/browse/CAMEL-12638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16541562#comment-16541562 ] Lukasz edited comment on CAMEL-12638 at 7/12/18 2:56 PM: - I'm not really convinced by that [~njiang]. Even in the _Camel in Action (Second Edition)_ book, [~cib...@e-ma.net] and [~janstey] use it as a standard bean that can be called to execute a service, not as a builder (see _Listing 7.12 JAX-RS_ _REST implementation_)_:_ {code:java} @ApplicationScoped @Path ( "/api" ) public class RulesController { @Inject @Uri ( "direct:inventory" ) private FluentProducerTemplate producer; @GET @Produces ( MediaType.APPLICATION_JSON ) @Path ( "/rules/{cartIds}" ) public List rules( @PathParam ( "cartIds" ) String cartIds ) { List answer = new ArrayList<>(); ItemsDto inventory = producer.request( ItemsDto.class ); [...] } }{code} Obviously they don't refer to a specific implementation but we can all imagine which implementation is provided by default. Also if it was supposed to be *just* a builder I find it misleading that the class actually implements a _Service_ interface. was (Author: lucas_): I'm not really convinced by that [~njiang]. Even in the _Camel in Action (Second Edition)_ book, Claus and Jonathan use it a standard bean that can be called to execute a service not a builder (see _Listing 7.12 JAX-RS_ _REST implementation_)_:_ {code:java} @ApplicationScoped @Path ( "/api" ) public class RulesController { @Inject @Uri ( "direct:inventory" ) private FluentProducerTemplate producer; @GET @Produces ( MediaType.APPLICATION_JSON ) @Path ( "/rules/{cartIds}" ) public List rules( @PathParam ( "cartIds" ) String cartIds ) { List answer = new ArrayList<>(); ItemsDto inventory = producer.request( ItemsDto.class ); [...] } }{code} Obviously they don't refer to a specific implementation but we can all imagine which implementation is provided by default. Also if it was supposed to be *just* a builder I find it misleading that the class actually implements a _Service_ interface. > DefaultFluentProducerTemplate is not thread safe > > > Key: CAMEL-12638 > URL: https://issues.apache.org/jira/browse/CAMEL-12638 > Project: Camel > Issue Type: Bug > Components: camel-core >Affects Versions: 2.20.2 >Reporter: Lukasz >Priority: Major > > I think we have rediscovered the CAMEL-10820 bug. A body of one request gets > replaced with a body of proceeding request, in our case we use *request()* > method instead of *asyncSend()*. > We use camel together with spring-boot. Consider following code: > > {code:java} > @Service > public class UseCamelService { >private FluentProducerTemplate producer; >@Autowired >public UseCamelService(FluentProducerTemplate producer) { > this.producer = producer; >} >public String getValueFromCamel(String body) { > return producer.to("route").withBody(body).request(String.class); >} > } > {code} > If *UseCamelService.getValueFromCamel()* gets called from two different > threads it is possible for the latter one to override the body of the first > one. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Comment Edited] (CAMEL-12638) DefaultFluentProducerTemplate is not thread safe
[ https://issues.apache.org/jira/browse/CAMEL-12638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16541562#comment-16541562 ] Lukasz edited comment on CAMEL-12638 at 7/12/18 2:56 PM: - I'm not really convinced by that [~njiang]. Even in the _Camel in Action (Second Edition)_ book, [~cib...@e-ma.net] and [~janstey] use it as a standard bean that can be called to execute a service, not as a builder (see _Listing 7.12 JAX-RS_ _REST implementation_)_:_ {code:java} @ApplicationScoped @Path ( "/api" ) public class RulesController { @Inject @Uri ( "direct:inventory" ) private FluentProducerTemplate producer; @GET @Produces ( MediaType.APPLICATION_JSON ) @Path ( "/rules/{cartIds}" ) public List rules( @PathParam ( "cartIds" ) String cartIds ) { List answer = new ArrayList<>(); ItemsDto inventory = producer.request( ItemsDto.class ); [...] } }{code} Obviously they don't refer to a specific implementation but we can all imagine which implementation is provided by default. Also if it was supposed to be *just* a builder I find it misleading that the class actually implements a _Service_ interface. was (Author: lucas_): I'm not really convinced by that [~njiang]. Even in the _Camel in Action (Second Edition)_ book, [~cib...@e-ma.net] and [~janstey] use it as a standard bean that can be called to execute a service, not as a builder (see _Listing 7.12 JAX-RS_ _REST implementation_)_:_ {code:java} @ApplicationScoped @Path ( "/api" ) public class RulesController { @Inject @Uri ( "direct:inventory" ) private FluentProducerTemplate producer; @GET @Produces ( MediaType.APPLICATION_JSON ) @Path ( "/rules/{cartIds}" ) public List rules( @PathParam ( "cartIds" ) String cartIds ) { List answer = new ArrayList<>(); ItemsDto inventory = producer.request( ItemsDto.class ); [...] } }{code} Obviously they don't refer to a specific implementation but we can all imagine which implementation is provided by default. Also if it was supposed to be *just* a builder I find it misleading that the class actually implements a _Service_ interface. > DefaultFluentProducerTemplate is not thread safe > > > Key: CAMEL-12638 > URL: https://issues.apache.org/jira/browse/CAMEL-12638 > Project: Camel > Issue Type: Bug > Components: camel-core >Affects Versions: 2.20.2 >Reporter: Lukasz >Priority: Major > > I think we have rediscovered the CAMEL-10820 bug. A body of one request gets > replaced with a body of proceeding request, in our case we use *request()* > method instead of *asyncSend()*. > We use camel together with spring-boot. Consider following code: > > {code:java} > @Service > public class UseCamelService { >private FluentProducerTemplate producer; >@Autowired >public UseCamelService(FluentProducerTemplate producer) { > this.producer = producer; >} >public String getValueFromCamel(String body) { > return producer.to("route").withBody(body).request(String.class); >} > } > {code} > If *UseCamelService.getValueFromCamel()* gets called from two different > threads it is possible for the latter one to override the body of the first > one. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Comment Edited] (CAMEL-12638) DefaultFluentProducerTemplate is not thread safe
[ https://issues.apache.org/jira/browse/CAMEL-12638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16541562#comment-16541562 ] Lukasz edited comment on CAMEL-12638 at 7/12/18 12:40 PM: -- I'm not really convinced by that [~njiang]. Even in the _Camel in Action (Second Edition)_ book, Claus and Jonathan use it a standard bean that can be called to execute a service not a builder (see _Listing 7.12 JAX-RS_ _REST implementation_)_:_ {code:java} @ApplicationScoped @Path ( "/api" ) public class RulesController { @Inject @Uri ( "direct:inventory" ) private FluentProducerTemplate producer; @GET @Produces ( MediaType.APPLICATION_JSON ) @Path ( "/rules/{cartIds}" ) public List rules( @PathParam ( "cartIds" ) String cartIds ) { List answer = new ArrayList<>(); ItemsDto inventory = producer.request( ItemsDto.class ); [...] } }{code} Obviously they don't refer to a specific implementation but we can all imagine which implementation is provided by default. Also if it was supposed to be *just* a builder I find it misleading that the class actually implements a _Service_ interface. was (Author: lucas_): I'm not really convinced by that [~njiang]. Even in the _Camel in Action (Second Edition)_ **book, Claus and Jonathan use it a standard bean that can be called to execute a service not a builder (see _Listing 7.12 JAX-RS_ _REST implementation_)_:_ {code:java} @ApplicationScoped @Path ( "/api" ) public class RulesController { @Inject @Uri ( "direct:inventory" ) private FluentProducerTemplate producer; @GET @Produces ( MediaType.APPLICATION_JSON ) @Path ( "/rules/{cartIds}" ) public List rules( @PathParam ( "cartIds" ) String cartIds ) { List answer = new ArrayList<>(); ItemsDto inventory = producer.request( ItemsDto.class ); [...] } }{code} Obviously they don't refer to a specific implementation but we can all imagine which implementation is provided by default. Also if it was supposed to be *just* a builder I find it misleading that the class actually implements a _Service_ interface. > DefaultFluentProducerTemplate is not thread safe > > > Key: CAMEL-12638 > URL: https://issues.apache.org/jira/browse/CAMEL-12638 > Project: Camel > Issue Type: Bug > Components: camel-core >Affects Versions: 2.20.2 >Reporter: Lukasz >Priority: Major > > I think we have rediscovered the CAMEL-10820 bug. A body of one request gets > replaced with a body of proceeding request, in our case we use *request()* > method instead of *asyncSend()*. > We use camel together with spring-boot. Consider following code: > > {code:java} > @Service > public class UseCamelService { >private FluentProducerTemplate producer; >@Autowired >public UseCamelService(FluentProducerTemplate producer) { > this.producer = producer; >} >public String getValueFromCamel(String body) { > return producer.to("route").withBody(body).request(String.class); >} > } > {code} > If *UseCamelService.getValueFromCamel()* gets called from two different > threads it is possible for the latter one to override the body of the first > one. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Comment Edited] (CAMEL-12638) DefaultFluentProducerTemplate is not thread safe
[ https://issues.apache.org/jira/browse/CAMEL-12638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16541562#comment-16541562 ] Lukasz edited comment on CAMEL-12638 at 7/12/18 12:39 PM: -- I'm not really convinced by that [~njiang]. Even in the _Camel in Action (Second Edition)_ **book, Claus and Jonathan use it a standard bean that can be called to execute a service not a builder (see _Listing 7.12 JAX-RS_ _REST implementation_)_:_ {code:java} @ApplicationScoped @Path ( "/api" ) public class RulesController { @Inject @Uri ( "direct:inventory" ) private FluentProducerTemplate producer; @GET @Produces ( MediaType.APPLICATION_JSON ) @Path ( "/rules/{cartIds}" ) public List rules( @PathParam ( "cartIds" ) String cartIds ) { List answer = new ArrayList<>(); ItemsDto inventory = producer.request( ItemsDto.class ); [...] } }{code} Obviously they don't refer to a specific implementation but we can all imagine which implementation is provided by default. Also if it was supposed to be *just* a builder I find it misleading that the class actually implements a _Service_ interface. was (Author: lucas_): I'm not really convinced by that [~njiang]. Even in the _Camel in Action (Second Edition)_ **book, Claus and Jonathan use it a standard bean that can be called to execute a service not a builder (see _Listing 7.12 JAX-RS_ _REST implementation_)_:_ _@ApplicationScoped @Path("/api") public class RulesController \{ @Inject @Uri ( "direct:inventory" ) private FluentProducerTemplate producer; @GET @Produces ( MediaType.APPLICATION_JSON ) @Path ( "/rules/{cartIds}" ) public List rules( @PathParam ( "cartIds" ) String cartIds ) \{ List answer = new ArrayList<>(); ItemsDto inventory = producer.request( ItemsDto.class ); [...] } }_ Obviously they don't refer to a specific implementation but we can all imagine which implementation is provided by default. Also if it was supposed to be *just* a builder I find it misleading that the class actually implements a _Service_ interface. > DefaultFluentProducerTemplate is not thread safe > > > Key: CAMEL-12638 > URL: https://issues.apache.org/jira/browse/CAMEL-12638 > Project: Camel > Issue Type: Bug > Components: camel-core >Affects Versions: 2.20.2 >Reporter: Lukasz >Priority: Major > > I think we have rediscovered the CAMEL-10820 bug. A body of one request gets > replaced with a body of proceeding request, in our case we use *request()* > method instead of *asyncSend()*. > We use camel together with spring-boot. Consider following code: > > {code:java} > @Service > public class UseCamelService { >private FluentProducerTemplate producer; >@Autowired >public UseCamelService(FluentProducerTemplate producer) { > this.producer = producer; >} >public String getValueFromCamel(String body) { > return producer.to("route").withBody(body).request(String.class); >} > } > {code} > If *UseCamelService.getValueFromCamel()* gets called from two different > threads it is possible for the latter one to override the body of the first > one. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (CAMEL-12638) DefaultFluentProducerTemplate is not thread safe
[ https://issues.apache.org/jira/browse/CAMEL-12638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16541562#comment-16541562 ] Lukasz commented on CAMEL-12638: I'm not really convinced by that [~njiang]. Even in the _Camel in Action (Second Edition)_ **book, Claus and Jonathan use it a standard bean that can be called to execute a service not a builder (see _Listing 7.12 JAX-RS_ _REST implementation_)_:_ _@ApplicationScoped @Path("/api") public class RulesController \{ @Inject @Uri ( "direct:inventory" ) private FluentProducerTemplate producer; @GET @Produces ( MediaType.APPLICATION_JSON ) @Path ( "/rules/{cartIds}" ) public List rules( @PathParam ( "cartIds" ) String cartIds ) \{ List answer = new ArrayList<>(); ItemsDto inventory = producer.request( ItemsDto.class ); [...] } }_ Obviously they don't refer to a specific implementation but we can all imagine which implementation is provided by default. Also if it was supposed to be *just* a builder I find it misleading that the class actually implements a _Service_ interface. > DefaultFluentProducerTemplate is not thread safe > > > Key: CAMEL-12638 > URL: https://issues.apache.org/jira/browse/CAMEL-12638 > Project: Camel > Issue Type: Bug > Components: camel-core >Affects Versions: 2.20.2 >Reporter: Lukasz >Priority: Major > > I think we have rediscovered the CAMEL-10820 bug. A body of one request gets > replaced with a body of proceeding request, in our case we use *request()* > method instead of *asyncSend()*. > We use camel together with spring-boot. Consider following code: > > {code:java} > @Service > public class UseCamelService { >private FluentProducerTemplate producer; >@Autowired >public UseCamelService(FluentProducerTemplate producer) { > this.producer = producer; >} >public String getValueFromCamel(String body) { > return producer.to("route").withBody(body).request(String.class); >} > } > {code} > If *UseCamelService.getValueFromCamel()* gets called from two different > threads it is possible for the latter one to override the body of the first > one. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (CAMEL-12638) DefaultFluentProducerTemplate is not thread safe
[ https://issues.apache.org/jira/browse/CAMEL-12638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16541252#comment-16541252 ] Lukasz commented on CAMEL-12638: I came up with the same conclusion as you [~neildrummonddorado]. There is no mention about this in the _DefaultFluentProducerTemplate_ javadoc, but the one for _FluentProducerTemplate_ clearly states that the producer is threadsafe and I would kind of expect that the same should apply for its implementations. > DefaultFluentProducerTemplate is not thread safe > > > Key: CAMEL-12638 > URL: https://issues.apache.org/jira/browse/CAMEL-12638 > Project: Camel > Issue Type: Bug > Components: camel-core >Affects Versions: 2.20.2 >Reporter: Lukasz >Priority: Major > > I think we have rediscovered the CAMEL-10820 bug. A body of one request gets > replaced with a body of proceeding request, in our case we use *request()* > method instead of *asyncSend()*. > We use camel together with spring-boot. Consider following code: > > {code:java} > @Service > public class UseCamelService { >private FluentProducerTemplate producer; >@Autowired >public UseCamelService(FluentProducerTemplate producer) { > this.producer = producer; >} >public String getValueFromCamel(String body) { > return producer.to("route").withBody(body).request(String.class); >} > } > {code} > If *UseCamelService.getValueFromCamel()* gets called from two different > threads it is possible for the latter one to override the body of the first > one. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (CAMEL-12638) DefaultFluentProducerTemplate is not thread safe
[ https://issues.apache.org/jira/browse/CAMEL-12638?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Lukasz updated CAMEL-12638: --- Component/s: camel-core > DefaultFluentProducerTemplate is not thread safe > > > Key: CAMEL-12638 > URL: https://issues.apache.org/jira/browse/CAMEL-12638 > Project: Camel > Issue Type: Bug > Components: camel-core >Affects Versions: 2.20.2 >Reporter: Lukasz >Priority: Major > > I think we have rediscovered the CAMEL-10820 bug. A body of one request gets > replaced with a body of proceeding request, in our case we use *request()* > method instead of *asyncSend()*. > We use camel together with spring-boot. Consider following code: > > {code:java} > @Service > public class UseCamelService { >private FluentProducerTemplate producer; >@Autowired >public UseCamelService(FluentProducerTemplate producer) { > this.producer = producer; >} >public String getValueFromCamel(String body) { > return producer.to("route").withBody(body).request(String.class); >} > } > {code} > If *UseCamelService.getValueFromCamel()* gets called from two different > threads it is possible for the latter one to override the body of the first > one. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (CAMEL-12638) DefaultFluentProducerTemplate is not thread safe
Lukasz created CAMEL-12638: -- Summary: DefaultFluentProducerTemplate is not thread safe Key: CAMEL-12638 URL: https://issues.apache.org/jira/browse/CAMEL-12638 Project: Camel Issue Type: Bug Affects Versions: 2.20.2 Reporter: Lukasz I think we have rediscovered the CAMEL-10820 bug. A body of one request gets replaced with a body of proceeding request, in our case we use *request()* method instead of *asyncSend()*. We use camel together with spring-boot. Consider following code: {code:java} @Service public class UseCamelService { private FluentProducerTemplate producer; @Autowired public UseCamelService(FluentProducerTemplate producer) { this.producer = producer; } public String getValueFromCamel(String body) { return producer.to("route").withBody(body).request(String.class); } } {code} If *UseCamelService.getValueFromCamel()* gets called from two different threads it is possible for the latter one to override the body of the first one. -- This message was sent by Atlassian JIRA (v7.6.3#76005)