Order

@AggregateRoute(resourceName = "sales-order", spaced = true, owner = AggregateRoute.Owner.ALWAYS)
class Order(state: OrderState)

Order aggregate.

State is isolated in OrderState so command handlers cannot mutate it accidentally.

AggregateRoot is an optional marker annotation.

Author

ahoo wang

See also

Constructors

Link copied to clipboard
constructor(state: OrderState)

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard

fun onCommand(payOrder: PayOrder): Iterable<*>

Applies a payment-service event after it has been adapted to PayOrder.

fun onCommand(command: CommandMessage<CreateOrder>, @Name(value = "createOrderSpec") specification: CreateOrderSpec, commandResultAccessor: CommandResultAccessor): Mono<OrderCreated>

Creates an order from its first command while the aggregate is uninitialized. The conventional onCommand name makes the command-handler annotation optional.

Link copied to clipboard
fun onError(createOrder: CreateOrder, throwable: Throwable, eventStream: DomainEventStream?): Mono<Void>