StatelessSagaDispatcher

class StatelessSagaDispatcher(name: String, parallelism: Int = MessageParallelism.DEFAULT_PARALLELISM, domainEventBus: DomainEventBus, stateEventBus: StateEventBus, functionRegistrar: StatelessSagaFunctionRegistrar, eventHandler: StatelessSagaHandler, schedulerSupplier: AggregateSchedulerSupplier = DefaultAggregateSchedulerSupplier("SagaDispatcher"), metrics: WowMetrics = WowMetrics.NONE) : CompositeEventDispatcher

Dispatcher for stateless sagas that handles domain events and coordinates command execution. This dispatcher extends CompositeEventDispatcher to provide event-driven processing for sagas that don't maintain state between events.

Parameters

name

The name of the dispatcher, typically formatted as applicationName.StatelessSagaDispatcher.

parallelism

The number of parallel threads for processing messages (default: MessageParallelism.DEFAULT_PARALLELISM).

domainEventBus

The bus for publishing domain events.

stateEventBus

The bus for publishing state events.

functionRegistrar

The registrar for stateless saga functions.

eventHandler

The handler for processing domain events.

schedulerSupplier

The supplier for aggregate schedulers (default: DefaultAggregateSchedulerSupplier with "SagaDispatcher" prefix).

metrics

Instance-scoped metrics recorder propagated to child dispatchers.

Constructors

Link copied to clipboard
constructor(name: String, parallelism: Int = MessageParallelism.DEFAULT_PARALLELISM, domainEventBus: DomainEventBus, stateEventBus: StateEventBus, functionRegistrar: StatelessSagaFunctionRegistrar, eventHandler: StatelessSagaHandler, schedulerSupplier: AggregateSchedulerSupplier = DefaultAggregateSchedulerSupplier("SagaDispatcher"), metrics: WowMetrics = WowMetrics.NONE)