DomainEventBus

Domain Event Bus interface for publishing and subscribing to domain event streams.

This interface defines the contract for a message bus that handles domain event streams, ensuring ordered publication and processing of events per aggregate ID.

Key characteristics:

  1. Ordered Publication: Events are published in order per aggregate ID

  2. Ordered Processing: Events are processed in the order they were published

See also

Inheritors

Properties

Link copied to clipboard
open override val topicKind: TopicKind

Functions

Link copied to clipboard
open override fun close()

Closes the message bus and releases any resources. Default implementation does nothing.

Link copied to clipboard
abstract fun receive(namedAggregates: Set<NamedAggregate>): Flux<EventStreamExchange>

Receives messages for the specified named aggregates.

Link copied to clipboard
abstract fun send(message: DomainEventStream): Mono<Void>

Sends a message through the message bus.