Uses of Package
dk.cloudcreate.essentials.reactive.command
Packages that use dk.cloudcreate.essentials.reactive.command
Package
Description
-
Classes in dk.cloudcreate.essentials.reactive.command used by dk.cloudcreate.essentials.reactive.commandClassDescriptionBase implementation of the
CommandBus- provides default implementation for all operations except forCommandBus.sendAndDontWait(Object)/CommandBus.sendAndDontWait(Object, Duration)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. such as a server generated id)
One important rule is that there can only be oneCommandHandlerinstance that can handle any given command type.
If multipleCommandHandlerclaim that they all can handle a given command type thenCommandBus.send(Object)/CommandBus.sendAsync(Object)will throwMultipleCommandHandlersFoundException
If noCommandHandler's can handle the given command type thenCommandBus.send(Object)/CommandBus.sendAsync(Object)will throwNoCommandHandlerFoundExceptionCommon interface for all Command message handlers
A command handler can choose support to 1 or more command typesException handler that will handle errors that occur duringCommandBus.sendAndDontWait(Object)/CommandBus.sendAndDontWait(Object, Duration) -
Classes in dk.cloudcreate.essentials.reactive.command used by dk.cloudcreate.essentials.reactive.command.interceptorClassDescriptionCommon interface for all Command message handlers
A command handler can choose support to 1 or more command types