Skip to content

Delivering an event

Deliver an application eventSuccessful feed delivery. A group reader can invoke several subscribed processors. MONGOOSE / RUNTIME ARCHITECTURE Deliver an application event Successful feed delivery. A group reader can invoke several subscribed processors. Feed thread Publisher Dispatch queue Group thread 1. Publish input; transfer origin ownership Map / wrap 3. Offer under publisher lock Release origin 5. Poll queued item 6. Deliver through invocation strategy Invoke subscribers Release queue reference Control work is checked before readers run. Callback time, retries and audit costs belong to the group.

The publisher runs on the source's calling thread. It maps/wraps the input and offers it to target queues under its publication lock. The processor group's readers poll their queues and invoke the subscribed processors on the group thread. EventFlowManager is involved in wiring, not called as a central router for each input.

Readers currently process up to 64 queued items per doWork() call. Before the readers run, the composing group checks control work. This does not imply a lifecycle request can interrupt a handler already executing.

The diagram shows successful delivery. For a full queue, the publisher eventually drops that queue's copy. For a handler failure, the reader applies its retry policy. A pooled reference is released in cleanup even if dispatch fails. See overload and retries.

Timers and processor-bound admin commands also reach processor event cycles, but use their own delivery routes. Optional recording, audit listeners and sinks add work; they are not represented as free operations here.