# Repeatable streams and DataWeave streaming

*MuleSoft Platform Integration Architect Study Guide · Designing integration solutions to meet performance requirements · Last updated November 13, 2026 · https://www.certifyforce.com/study-guide/mulesoft-platform-integration-architect/designing-integration-solutions-to-meet-performance-requirements/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.

- Certification: Salesforce MuleSoft Platform Integration Architect
- Exam section: Designing integration solutions to meet performance requirements
- Study guide: https://www.certifyforce.com/study-guide/mulesoft-platform-integration-architect

**Official exam objective:**

> Design Mule applications using available streaming features in Mule.

## 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](https://docs.mulesoft.com/mule-runtime/latest/streaming-about), [Streaming in DataWeave](https://docs.mulesoft.com/dataweave/latest/dataweave-streaming)).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Default streaming framework | Repeatable streams | [Streaming in Mule Apps](https://docs.mulesoft.com/mule-runtime/latest/streaming-about) |
| File-store repeatable stream | Mule EE default and EE only; 512 KB in memory, then a temporary file | [Streaming in Mule Apps](https://docs.mulesoft.com/mule-runtime/latest/streaming-about) |
| In-memory repeatable stream | Mule Kernel default; 512 KB, grows by 512 KB; fails past the maximum | [Streaming in Mule Apps](https://docs.mulesoft.com/mule-runtime/latest/streaming-about) |
| Larger file-store buffer | Fewer disk writes, fewer concurrent requests | [Repeatable vs. Non-Repeatable Streaming](https://docs.mulesoft.com/mule-runtime/latest/tuning-repeatable-nonrepeatable) |
| Non-repeatable gain | Proportional to stream size | [Streaming in Mule Apps](https://docs.mulesoft.com/mule-runtime/latest/streaming-about) |
| Auto-paging buffer unit | Instance count | [Streaming in Mule Apps](https://docs.mulesoft.com/mule-runtime/latest/streaming-about) |
| EE file store iterable | 500 objects in memory, rest serialized to disk | [Streaming in Mule Apps](https://docs.mulesoft.com/mule-runtime/latest/streaming-about) |
| DataWeave streaming default | Off; needs `streaming=true` on the source MIME type | [Streaming in DataWeave](https://docs.mulesoft.com/dataweave/latest/dataweave-streaming) |
| XML streaming | Needs both `collectionPath` and `streaming=true` | [Streaming in DataWeave](https://docs.mulesoft.com/dataweave/latest/dataweave-streaming) |
| `deferred=true` | Output goes straight to the next processor; exceptions are not handled | [Streaming in DataWeave](https://docs.mulesoft.com/dataweave/latest/dataweave-streaming) |

## Check yourself

- 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?

## Sources

- [Streaming in Mule Apps](https://docs.mulesoft.com/mule-runtime/latest/streaming-about)
- [Repeatable vs. Non-Repeatable Streaming](https://docs.mulesoft.com/mule-runtime/latest/tuning-repeatable-nonrepeatable)
- [Streaming in DataWeave](https://docs.mulesoft.com/dataweave/latest/dataweave-streaming)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 6 linked practice questions, and unlimited timed mock exams are included with the MuleSoft Platform Integration Architect pack (USD $19): https://www.certifyforce.com/practice-exams
