[
https://issues.apache.org/jira/browse/CAMEL-10820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15889787#comment-15889787
]
Claus Ibsen commented on CAMEL-10820:
-------------------------------------
Ah well spotted.
I wonder if you fancy taking a stab at trying to implement a fix for this? Not
sure on top of my head how to do this, but maybe somehow with async send the
state of the template must be computed and send asap. Or you need some kind of
Stack to push/pop when doing multiple sends or something.
> 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.3, 2.19.0
>
>
> 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)