Annotation Interface StartSaga


Indicates that the annotated SagaEventHandler method can trigger the creation of a new Saga instance.

When a Saga is started due to an invocation on a StartSaga annotated method, the association of the annotated method and the actual property's value are used to define a AssociationValue for the created saga. Thus, a method with this definition:

@StartSaga(forceNew=true)
@SagaEventHandler(associationProperty="orderId")
public void handleOrderCreated(OrderCreatedEvent event)

will always trigger the creation of a saga that can be found with an AssociationValue with key "orderId" and as value the value returned by event.getOrderId().

This annotation can only appear on methods that have been annotated with @SagaEventHandler.

Since:
0.7
Author:
Allard Buijze
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    Indicates whether or not to force creation of a Saga, even if one already exists.
  • Element Details

    • forceNew

      boolean forceNew
      Indicates whether or not to force creation of a Saga, even if one already exists. If true, a new Saga is always created when an event assignable to the annotated method is handled. If false, a new saga is only created if no Saga's exist that can handle the incoming event.

      This annotation can only appear on methods that have been annotated with @SagaEventHandler.

      Default:
      false