ExtractedWaitPlan

data class ExtractedWaitPlan(val endpoint: String, val waitCommandId: String, val plan: WaitPlan) : CommandWaitEndpoint, WaitCommandIdCapable, MessagePropagator

The wait plan a message carries, which propagates its wait keys to the messages derived from that message:

  • from a command to the event stream it commits: all of them, whatever the target (the event store keeps them, decision V1);

  • from an event to a command: only for a chain wait, and only to a command that the saga function the chain waits for sends (B6, since 9.3.0). Such a command carries the chain's tail. A command another saga, an event processor or application code derives from the same event gets no wait keys: nobody waits for it. Before 9.3.0 every command derived from the event carried the tail.

Constructors

Link copied to clipboard
constructor(endpoint: String, waitCommandId: String, plan: WaitPlan)

Properties

Link copied to clipboard
open override val endpoint: String

The endpoint address for command wait notifications. This could be a URL, queue name, or other addressing mechanism depending on the underlying messaging infrastructure.

Link copied to clipboard
Link copied to clipboard
open override val waitCommandId: String

The unique identifier for the wait command. This ID is used to match wait plans with command processing results.

Functions

Link copied to clipboard
open override fun propagate(header: Header, upstream: Message<*, *>)

Propagates context information from an upstream message to the target header.

open override fun propagate(header: Header, upstream: Message<*, *>, producer: FunctionInfo)

Propagates context from upstream to the header of a message that producer creates from it, such as a command a saga function sends for an event. A propagator whose keys belong to one downstream function only (the wait chain) uses producer to decide; the default ignores it.