[ https://issues.apache.org/jira/browse/CAMEL-12638?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16541858#comment-16541858 ]
Mario Papandrea edited comment on CAMEL-12638 at 7/12/18 3:58 PM: ------------------------------------------------------------------ Moreover the api doc clearly state that this object is "thread safe" [http://static.javadoc.io/org.apache.camel/camel-core/2.19.3/org/apache/camel/FluentProducerTemplate.html] !image-2018-07-12-17-58-09-225.png! was (Author: mario.papandrea): Moreover the api doc clearly state that this object is "thread safe" [http://static.javadoc.io/org.apache.camel/camel-core/2.19.3/org/apache/camel/FluentProducerTemplate.html] !image-2018-07-12-17-57-11-867.png! > 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-56-23-086.png, > image-2018-07-12-17-57-11-867.png, 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)