Package org.axonframework.modelling.saga
Annotation Interface StartSaga
@Documented
@Retention(RUNTIME)
@Target({METHOD,ANNOTATION_TYPE})
@HasHandlerAttributes
public @interface StartSaga
Indicates that the annotated
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
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 ElementsModifier and TypeOptional ElementDescriptionbooleanIndicates whether or not to force creation of a Saga, even if one already exists.
-
Element Details
-
forceNew
boolean forceNewIndicates whether or not to force creation of a Saga, even if one already exists. Iftrue, a new Saga is always created when an event assignable to the annotated method is handled. Iffalse, 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
-