Package-level declarations

Types

Link copied to clipboard
class AggregateCommandDispatcher<C : Any, S : Any>(val name: String = "-", val aggregateMetadata: AggregateMetadata<C, S>, val messageFlux: Flux<ServerCommandExchange<*>>, val parallelism: Int = MessageParallelism.DEFAULT_PARALLELISM, commandHandler: CommandHandler, val scheduler: Scheduler, messageReadiness: Mono<Void> = Mono.empty(), processingAdmission: () -> Unit = {}, processingQuiescence: () -> Unit = {}, metrics: WowMetrics = WowMetrics.NONE) : AggregateDispatcher<ServerCommandExchange<*>>

Aggregate command dispatcher grouped by named aggregate.

Link copied to clipboard
class CommandDispatcher(val name: String = CommandDispatcher::class.simpleName!!, val parallelism: Int = MessageParallelism.DEFAULT_PARALLELISM, val namedAggregates: Set<NamedAggregate> = MetadataSearcher.localAggregates, commandBus: CommandBus, commandHandler: CommandHandler, schedulerSupplier: AggregateSchedulerSupplier = DefaultAggregateSchedulerSupplier("CommandDispatcher"), metrics: WowMetrics = WowMetrics.NONE) : MainDispatcher<ServerCommandExchange<*>>

Command Dispatcher .

Link copied to clipboard
interface CommandHandler

Handles the commands of one aggregate type that a CommandDispatcher receives.

Link copied to clipboard

Observes the handling of each command at one fixed seam: around the whole command pipeline of DefaultCommandHandler (processing, acknowledgement, publication and the PROCESSED report). For tracing, metrics and logging, which used to be command filters (V5).

Link copied to clipboard
class DefaultCommandHandler(serviceProvider: ServiceProvider, aggregateProcessorFactory: AggregateProcessorFactory, domainEventBus: DomainEventBus?, stateEventBus: StateEventBus?, commandWaitNotifier: CommandWaitNotifier?, instrumentations: List<CommandInstrumentation> = emptyList(), requestIdChecker: RequestIdChecker? = null, errorHandler: ErrorHandler<ServerCommandExchange<*>> = LogResumeErrorHandler()) : CommandHandler

The command side's pipeline, in a fixed order (V5: there is no command filter chain):