Designing integration solutions to meet performance requirements7% of the exam

Repeatable streams and DataWeave streaming

How Mule 4 repeatable and non-repeatable streams behave, how to size file-store and in-memory buffers, how auto-paged objects are buffered by instance count, why streams should be consumed promptly, and how to make DataWeave read and write large documents as streams.

Official exam objective
Design Mule applications using available streaming features in Mule.

~7 min read · 6 practice questions

What the exam expects

  • Choose between repeatable file-store, repeatable in-memory and non-repeatable streams from how a flow reads the payload and which Mule edition runs it.
  • Size a stream buffer for the payload and concurrency, and know which components silently consume a whole stream.
  • Estimate memory for auto-paged connector output, whose buffer counts objects rather than bytes.
  • Enable DataWeave streaming on input and output, and judge whether a script can run in streaming mode.

Repeatable stream: a stream Mule buffers so it can be read more than once and concurrently. Non-repeatable stream: a stream that can be read only once, with repeatable buffering disabled. inMemorySize: the file-store buffer size held in memory before Mule writes to disk. Streaming reader property: streaming=true on a source's MIME type, which makes DataWeave read the data as a stream. Deferred mode: deferred=true on a DataWeave output directive, which passes the output stream directly to the next processor (Streaming in Mule Apps, Streaming in DataWeave).

Sources for this section (2)

Key facts

Default streaming framework
Detail
Repeatable streams
File-store repeatable stream
Detail
Mule EE default and EE only; 512 KB in memory, then a temporary file
In-memory repeatable stream
Detail
Mule Kernel default; 512 KB, grows by 512 KB; fails past the maximum
Larger file-store buffer
Detail
Fewer disk writes, fewer concurrent requests
Non-repeatable gain
Detail
Proportional to stream size
Auto-paging buffer unit
Detail
Instance count
EE file store iterable
Detail
500 objects in memory, rest serialized to disk
DataWeave streaming default
Detail
Off; needs streaming=true on the source MIME type
XML streaming
Detail
Needs both collectionPath and streaming=true
deferred=true
Detail
Output goes straight to the next processor; exceptions are not handled
Sources for this section (3)
  • When does the @StreamCapable() validator accept a script?
  • Why can @StreamCapable() reject a JSON script that streams correctly in your tests?
  • Which connectors does the streaming page list among the components that support repeatable streams?

The questions are free to read. Answers with their sources and self-grading are included with the pack.

Keep reading with the MuleSoft Platform Integration Architect pack

  • Core concepts
  • Exam traps
  • Worked scenario

The pack includes:

  • All 40 lessons of the MuleSoft Platform Integration Architect guide, with reading progress
  • Interactive decision walks and step-by-step sequence steppers
  • Practice exams purchase adds inline bank questions and topic practice (6 questions for this lesson)
  • An official source cited for every claim
  • An AI tutor that answers from the guide
  • Choose guide-only, practice-only, or save $4 with both

Practice for the MuleSoft Platform Integration Architect exam