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

Define a saga DSL and implementation for long running actions

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Minor
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 2.21.0
    • Component/s: camel-core
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      I'm trying to define a saga interface and DSL for Camel in order to support long running actions.

      I've done some experiments here: https://github.com/nicolaferraro/camel/blob/8ad4a4a264bbcd882507893e810a65578253caa4/camel-core/src/test/java/org/apache/camel/processor/SagaTest.java#L102-L146

      The experiment works with a in memory saga manager.
      It should be possible to switch to a proper "long running action coordinator" (e.g. the one proposed here https://github.com/jbosstm/microprofile-sandbox/blob/0009-LRA/proposals/0009-LRA/0009-LRA.md) once an implementation is ready.

      We can also think to provide our own implementation based on a shared transaction log, but it will be a "hard" task and it would not be compatible with other languages/frameworks, so the "spec" way should be preferable.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                nferraro Nicola Ferraro
                Reporter:
                nferraro Nicola Ferraro
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: