SubscriptionManifest
A subscription: one handler of a processor, named processor.function.
derives names the commands a saga's handler may derive, any of its kinds: those its
@Sends(derives)declares, else those its return type names (CommandRequest<X>, a list of them), empty when it returnsUnit; null for a projection or a reactor. A wait chain may follow the saga's hop only into the contexts of these commands.rejected is set on an
@OnRejectedhandler of a saga and on no other: the commands whose rejections it handles, the one its receipt'sCnames, or empty for any command the saga sends. Such a handler reads rejections, not state events: its source is empty and not read.committed is set on an
@OnCommittedhandler of a saga and on no other: the commands whose success receipts it handles, the one its receipt'sCnames, or empty for any command the saga sends. Like an@OnRejectedhandler, it reads receipts (isReceiptHandler), not state events. A handler of both receipts, annotated both, has both set.start is where a new subscription starts in the log: what
@OnEvent(start)declares, else SubscriptionStart.defaultFor its kind and source; the host may configure another. Null on an@OnRejectedor@OnCommittedhandler, which reads no log.schedules names the commands a saga's handler may schedule, each by its full type name, as its
@Sends(schedules)declares; null when it declares none, and always for a projection or a reactor.retry is the handler's own in-process retry budget, as its
@Retryand its processor's declare it: null when neither does. The host'swow.subscriptions.[<context>.<name>].retry.*overrides it, setting by setting.job is the job of a saga's
@OnSchedulehandler: its subscription reads the context's built-in job aggregate<context>.schedule(source) and hands its job's ticks to the handler. Null for an@OnEventhandler.calls names the commands a saga's handler sends to another context with
SagaContext.call, as its@Sends(calls)declares, each referred to as derives refers to a command; null when it declares none. A wait chain may follow the saga's hop into their contexts too, but they need no command topic: the node calls their gateways, at the addresses its host configures.
Fields may be added: pass the constructor's arguments by name.