Package dk.cloudcreate.essentials.reactive.command
-
Interface Summary Interface Description CommandBus TheCommandBusprovides an indirection between a command and theCommandHandlerthat's capable of handling the command.
Commands can be sent synchronously usingCommandBus.send(Object)or asynchronously usingCommandBus.sendAsync(Object)that returns aMono.
The handling of a command usually doesn't return any value (according to the principles of CQRS), however theLocalCommandBusAPI allows aCommandHandlerto return a value if needed (e.g.CommandHandler Common interface for all Command message handlers
A command handler can choose support to 1 or more command typesSendAndDontWaitErrorHandler Exception handler that will handle errors that occur duringCommandBus.sendAndDontWait(Object)/CommandBus.sendAndDontWait(Object, Duration) -
Class Summary Class Description AbstractCommandBus Base implementation of theCommandBus- provides default implementation for all operations except forCommandBus.sendAndDontWait(Object)/CommandBus.sendAndDontWait(Object, Duration)AnnotatedCommandHandler Extending this class will allow you to colocate multiple related Command handling methods inside the same class and use it together with theLocalCommandBus
Each method must accept a single Command argument, may return a value or return void and be annotated with theEventHandlerannotation.
The method argument type is matched against the concrete command type usingClass.isAssignableFrom(Class).
The method accessibility can be any combination of private, protected, public, etc.
Example:LocalCommandBus Provides a JVM local and non-durable, in regard toLocalCommandBus.sendAndDontWait(Object)/LocalCommandBus.sendAndDontWait(Object, Duration)), variant of theCommandBusconceptSendAndDontWaitErrorHandler.FallbackSendAndDontWaitErrorHandler FallbackSendAndDontWaitErrorHandlerthat only error logs any issues.
Note: If theSendAndDontWaitErrorHandler.FallbackSendAndDontWaitErrorHandleris used with a Durable Command Bus (e.g.SendAndDontWaitErrorHandler.RethrowingSendAndDontWaitErrorHandler FallbackSendAndDontWaitErrorHandlerthat error logs any issues and rethrows the exception.
TheSendAndDontWaitErrorHandler.RethrowingSendAndDontWaitErrorHandleris compatible with a Durable Command Bus (e.g. -
Exception Summary Exception Description MultipleCommandHandlersFoundException NoCommandHandlerFoundException SendCommandException