Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-20016

camel-lra - Allow accessing Exchange in LRAClient

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 4.2.0
    • camel-lra
    • None
    • Unknown

    Description

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            johbossle Johannes Boßle
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: