LocalCommandBus

Local Command Bus interface for handling commands within the same JVM instance.

This interface extends both CommandBus and LocalMessageBus, providing synchronous command processing capabilities within a single application instance. Commands are processed locally without network communication.

See also

Inheritors

Properties

Link copied to clipboard
open override val topicKind: TopicKind

The topic kind for command messages.

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 LocalCommandBus with metrics collection capabilities. Returns a MetricLocalCommandBus that collects metrics on command operations.

Link copied to clipboard
abstract fun receive(subscription: MessageSubscription): Flux<ServerCommandExchange<*>>

Receives messages for the specified subscription.

Link copied to clipboard

Creates a single message source with an explicit transport readiness boundary.

Link copied to clipboard

Creates the message source owned by a me.ahoo.wow.runtime.WowRuntime dispatcher.

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

Sends a message through the message bus.

Link copied to clipboard
open fun sendIfSubscribed(message: CommandMessage<*>): Mono<Boolean>

Attempts local delivery only while a processing subscriber is routable.

Link copied to clipboard
abstract fun subscriberCount(namedAggregate: NamedAggregate): Int

Returns the number of subscribers for the specified named aggregate.