org.axonframework.saga.annotation
Annotation Type StartSaga


@Documented
@Retention(value=RUNTIME)
@Target(value=METHOD)
public @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)
@SageEventHandler(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
 boolean forceNew
          Indicates whether or not to force creation of a Saga, even if one already exists.
 

forceNew

public abstract 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


Copyright © 2010-2016. All Rights Reserved.