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.

Official exam objective
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)
  • 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 0 mean?
  • 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

Practice for the MuleSoft Developer exam