Class EsbControlChannel
java.lang.Object
com.kingsrook.qqq.esb.runtime.EsbControlChannel
A runtime's listener on the ESB control topic (spec section 6): the internal,
non-durable topic qqq.esb.control, on each provider that the runtime's
triggers use. EsbTriggerControl sends { "action", "triggerName" } messages
to it, and each runtime listening applies them to its own runner for that
trigger (pauseLocal, resumeLocal, restartLocal) - so an action reaches every
node on the broker, including the sender's. A runtime without the trigger
ignores the message.
The topic is non-durable, and nothing is persisted: a node that isn't
listening when a message is sent (stopped, or disconnected) never gets it,
and a node that starts later uses startPaused.
Opening a listener never blocks the caller: it runs on a virtual thread, and
if the provider can't be reached or listener setup fails, that thread keeps
trying. QEsbRuntime's connection listener calls onReconnect after a lost
connection, which discards the old session so the thread rebuilds it.
Messages arrive on the broker client's threads.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumWhat a control message asks each node to do to its runner for a trigger. -
Field Summary
Fields -
Method Summary
-
Field Details
-
CONTROL_TOPIC_NAME
- See Also:
-