You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Jira)" <ji...@apache.org> on 2023/10/19 18:03:00 UTC

[jira] [Resolved] (CAMEL-20016) Allow accessing Exchange in LRAClient

     [ https://issues.apache.org/jira/browse/CAMEL-20016?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen resolved CAMEL-20016.
---------------------------------
    Fix Version/s: 4.2.0
       Resolution: Fixed

> Allow accessing Exchange in LRAClient
> -------------------------------------
>
>                 Key: CAMEL-20016
>                 URL: https://issues.apache.org/jira/browse/CAMEL-20016
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core-processor, camel-lra
>            Reporter: Johannes Boßle
>            Priority: Major
>             Fix For: 4.2.0
>
>
> Saga processing with a lra-coordinator like narayana works completely async and in various different threads.
> There are situations, where you need to retrieve some context information like an authentication token to communicate to the coordinator. Currently that is not possible, since there is no way, where one could hook in to access Exchange in the LRAClient and read some context information. 
> One concrete idea to implement this, is to pass on the Exchange object to the LRAClient. This refactoring will involve interface changes to {{org.apache.camel.saga.CamelSagaService}} and {{{}org.apache.camel.saga.CamelSagaCoordinator{}}}, and their respective implementations and the callers.
> Another idea that was tried, is to introduce a SagaCustomizer, which could wrap those calls, but this approach was not followed further, since calls in LRASagaCoordinator are actually hard to wrap, without changing nearly the same interfaces as in approach 1.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)