MessageBus

interface MessageBus<M : Message<*, *>, E : MessageExchange<*, M>> : AutoCloseable

Represents a message bus for sending and receiving messages in a distributed system.

This interface provides the core functionality for message-based communication between different components of the system. Implementations can be local or distributed.

Parameters

M

The type of message being handled, must extend Message

E

The type of message exchange, must extend MessageExchange

Inheritors

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<E>

Receives messages for the specified named aggregates.

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

Sends a message through the message bus.