Interface SequencingPolicy<T>
- Type Parameters:
T- The type of object representing the processing instruction for the event.
- All Known Implementing Classes:
FullConcurrencyPolicy,MetaDataSequencingPolicy,PropertySequencingPolicy,SequentialPerAggregatePolicy,SequentialPolicy
public interface SequencingPolicy<T>
Interface to a policy definition for concurrent processing, for example event handling.
Some implementations are provided by default:
SequentialPolicy: Requires that all tasks are handled in the order they arrive at the processor. This also means that at most 1 thread is processing tasks for this processor at any time.FullConcurrencyPolicy: Allows each tasks to be handled independently of any other tasks. Tasks processing will typically start in the same order the tasks were scheduled in, although no guarantees can be given about the actual processing order.SequentialPerAggregatePolicy: Default policy. Will force events (only supports Event Handling tasks) generated by the same aggregate to be handled sequentially. At most one thread will be processing events of a single aggregate at any time
- Since:
- 0.3
- Author:
- Allard Buijze
-
Method Summary
Modifier and TypeMethodDescriptiongetSequenceIdentifierFor(T event) Returns the sequence identifier for the givenevent.
-
Method Details
-
getSequenceIdentifierFor
Returns the sequence identifier for the givenevent. When two events have the same identifier (as defined by their equals method), they will be executed sequentially. Anullvalue indicates that there are no sequencing requirements for the handling of this event.- Parameters:
event- the event for which to get the sequencing identifier- Returns:
- a sequence identifier for the given event
-