|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
@Documented @Retention(value=RUNTIME) @Target(value={METHOD,CONSTRUCTOR}) public @interface CommandHandler
Marker annotation to mark any method on an object as being a CommandHandler. Use the AnnotationCommandHandlerAdapter
to subscribe the annotated class to the command bus.
AggregateAnnotationCommandHandler
can be used to subscribe the handlers to the command bus. When the annotation
appears on an Aggregate root's constructor, that command will cause a new aggregate to be created and stored in the
repository provided with the AggregateAnnotationCommandHandler
. If a non-root entity of the Aggregate is
to handle a command, the field declaring that entity must be annotated with CommandHandlingMember
. Note that the annotation may not be placed on
a non-root Entity's constructor.
The annotated method's first parameter is the command handled by that method. Optionally, the command handler may
specify a second parameter of type UnitOfWork
. The active Unit of Work will be
passed if that parameter is supplied.
CommandHandlingMember
Optional Element Summary | |
---|---|
String |
commandName
The name of the Command this handler listens to. |
public abstract String commandName
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |