GitHub user nicolaferraro opened a pull request:

    https://github.com/apache/camel/pull/2173

    CAMEL-11665: Saga EIP

    This adds support for Sagas in Apache Camel.
    
    From the doc:
    
    *The Saga EIP provides a way to define a series of related actions in a 
Camel route that should be either completed successfully (all of them) or 
not-executed/compensated. Sagas implementations are able to coordinate 
distributed services communicating using any transport towards a globally 
consistent outcome.*
    
    I've provided a pretty long explanation on what Sagas are and how to use 
them in [the 
readme](https://github.com/nicolaferraro/camel/blob/e09f097bb7d02955700886afb3f04526d7eccdc3/camel-core/src/main/docs/eips/saga-eip.adoc).
    
    For now I've provided 2 implementations of the EIP:
    - In memory: a local implementation not suitable for production. It is 
included in `camel-core`
    - LRA: based on the [Microsprofile sandbox LRA 
spec](https://github.com/eclipse/microprofile-sandbox/tree/master/proposals/0009-LRA).
 In is included in the `camel-lra` module
    
    They have the same semantic, but the LRA implementation provides 
consistency guarantees in various degrees of system failure. Other 
implementations can be plugged in in the future.
    
    Both implementations are completely asynchronous (that's why some pieces of 
code may look ugly :smile:).
    
    There are some other features I plan to work on:
    - Asynchronous compensations and related callbacks
    - Evaluate ways to integrate it better with the rest subsystem
    - Suggestions

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/nicolaferraro/camel saga

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/camel/pull/2173.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #2173
    
----
commit e09f097bb7d02955700886afb3f04526d7eccdc3
Author: Nicola Ferraro <ni.ferraro@...>
Date:   2017-08-09T14:50:19Z

    CAMEL-11665: Saga EIP

----


---

Reply via email to