[ https://issues.apache.org/jira/browse/CAMEL-10820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15897073#comment-15897073 ]
Luca Burgazzoli commented on CAMEL-10820: ----------------------------------------- I changed a little bit producer template so that it copies the body and headers when doing async stuffs, the changes are there: https://github.com/lburgazzoli/apache-camel/commit/8480f88ea3795bb024fb4b0c9646c9a10cff42c8. [~jub] do you mind having a look ? > DefaultFluentProducerTemplate mixes up data when sending asynchronously > ----------------------------------------------------------------------- > > Key: CAMEL-10820 > URL: https://issues.apache.org/jira/browse/CAMEL-10820 > Project: Camel > Issue Type: Bug > Components: camel-core > Affects Versions: 2.18.2 > Environment: eclipse, win7, gradle > Reporter: Jakub Cernohorsky > Fix For: 2.18.4, 2.19.0 > > Attachments: default_fluent_producer_template.diff > > > DefaultFluentProducerTemplate > code: > producer = context.createFluentProducerTemplate(); > future1 = producer.withHeader("action", > "register").withBody(body1).asyncSend(); > future2 = producer.withHeader("action", > "register").withBody(body2).asyncSend(); > These two subsequent calls produces with the default creation two calls with > the same body - body2. > The cause is that it uses default processor supplier () -> > this::populateExchange which is call lazily at the time of send and at that > time the body property of DefaultFluentProducerTemplate is body2. -- This message was sent by Atlassian JIRA (v6.3.15#6346)