DistributedCommandBus

Distributed Command Bus interface for handling commands across multiple instances or services.

This interface extends both CommandBus and DistributedMessageBus, enabling asynchronous command processing across distributed systems. Commands may be routed to different services or instances based on load balancing and availability.

See also

Inheritors

Properties

Link copied to clipboard
open override val topicKind: TopicKind

The topic kind for command messages, always returns TopicKind.COMMAND

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

Wraps a DistributedCommandBus with metrics collection capabilities. Returns a MetricDistributedCommandBus that collects metrics on command operations.

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

Receives messages for the specified named aggregates.

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

Sends a message through the message bus.