Structuring Mule Applications10% of the exam
Flow Reference, subflows and VM queues
How events move between flows: Flow Reference runs a flow or subflow synchronously and returns the event, subflows are inlined at build time, VM Publish and Publish Consume hand content through transient or persistent queues (also across apps in one domain), and the Async scope fires and forgets a copy of the message.
Specify when and how to pass events between flows and subflows using connectors and flow references, and predict outcomes.
~8 min read · 13 practice questions ·
What the exam expects
- Choose between Flow Reference, VM Publish, VM Publish Consume and an Async scope from whether the caller must wait, needs the result, needs a queue or crosses apps.
- Decide between a flow and a subflow, and predict what breaks when a subflow holding a Batch Job is referenced twice.
- Predict the payload, variables and errors after a Flow Reference, with and without a
target. - Predict VM outcomes: listener attributes, the Publish Consume reply, timeouts, errors and persistence.
- Key terms: Flow Reference (synchronous call that routes the event to a flow or subflow and back); subflow (a sourceless, handler-less group of processors inlined where referenced); VM queue (a transient or persistent in-runtime queue created by a VM Listener); Publish Consume (VM operation that publishes and waits for a reply); Async scope (fire-and-forget branch working on a copy of the message).
Key facts
Flow Reference scope
- Detail
- Same Mule application only; synchronous; returns the event
Target on error
- Detail
- Target variable is not set
Subflow
- Detail
- No source, no error handler; inlined at build time
Batch Job in a subflow referenced twice
- Detail
- Deployment fails: duplicate job instance ID
VM Queue type default
- Detail
TRANSIENT
VM Listener consumers default
- Detail
- 4
VM Message Attributes
- Detail
- Queue Name and Timestamp only
Persistent queue data
- Detail
- Must be serializable
Receiving flow fails under Publish Consume
- Detail
VM:PUBLISH_CONSUMER_FLOW_ERROR, original description
VM between apps
- Detail
- Both apps in the same domain
Sources for this section (6)
- Flow Reference Componentdocs.mulesoft.com (opens in a new tab)
- Flows and Subflowsdocs.mulesoft.com (opens in a new tab)
- VM Connector Referencedocs.mulesoft.com (opens in a new tab)
- VM Connectordocs.mulesoft.com (opens in a new tab)
- VM Publish and Get a Response Exampledocs.mulesoft.com (opens in a new tab)
- VM Send Messages across Apps Exampledocs.mulesoft.com (opens in a new tab)
- Why does an error thrown inside an Async scope not reach the main flow's error handler?
- When is the temporal reply-To queue of a Publish Consume created and removed?
- What does a Max Outstanding Messages value of
0mean? - Where does a persistent VM queue keep its contents on a single instance and in a cluster?
The questions are free to read. Answers with their sources and self-grading are included with the pack.
Keep reading with the MuleSoft Developer pack
- Core concepts
- Exam traps
- Worked scenario
The pack includes:
- All 40 lessons of the MuleSoft Developer guide, with reading progress
- Interactive decision walks and step-by-step sequence steppers
- Practice exams purchase adds inline bank questions and topic practice (13 questions for this lesson)
- An official source cited for every claim
- An AI tutor that answers from the guide
- Unlimited timed practice exams