Processing Records10% of the exam

Batch jobs, steps and aggregators

Trace a record through the Load and Dispatch, Process and On Complete phases, predict which Batch Steps accept it under `acceptPolicy`, `acceptExpression` and `maxFailedRecords`, size a Batch Aggregator, and read the On Complete report.

Official exam objective
Apply correct processors/syntax to process individual records in a collection using batch scopes, and predict outcomes.

~8 min read · 11 practice questions ·

What the exam expects

  • Order the three batch phases and name what happens in each, including what Load and Dispatch does before any step runs.
  • Predict which records a Batch Step processes from its acceptPolicy, its acceptExpression and the job's maxFailedRecords.
  • Configure a Batch Aggregator with size or streaming and predict how many arrays it hands its processors.
  • Predict payload, vars and attributes inside a step, in On Complete, and after the Batch Job, and keep the input with target.
  • Prepare the input so the Batch Job can split it (arrays, iterables, JSON, XML).

Key terms:

  • Batch job instance: one execution of the Batch Job, identified by vars.batchJobInstanceId.
  • Record: one split item; inside a step it is the payload.
  • Stepping queue: the persistent queue that holds records between steps.
  • Accept policy: the step filter based on whether a record failed in an earlier step.
  • Batch Aggregator: an optional step child that processes records as arrays.

Key facts

Phase order
Detail
Load and Dispatch, Process, On Complete
Valid input
Detail
Java Iterables, Iterators, Arrays, JSON, XML
blockSize default
Detail
100 records per block
maxFailedRecords
Detail
Default 0; -1 = no limit; exceeding it gives FAILED_PROCESS_RECORDS
acceptPolicy default
Detail
NO_FAILURES; also ONLY_FAILURES, ALL; evaluated before acceptExpression
Aggregator settings
Detail
size or streaming, required, mutually exclusive; one per step
Last aggregator array
Detail
Smaller when fewer records remain than size
Streaming aggregator
Detail
Sequential access only
attributes in steps and aggregators
Detail
null
On Complete variables
Detail
Inherited and standard ones only; Process-phase changes are not visible
Failed-record count
Detail
payload.failedRecords in On Complete
Input after the job
Detail
Only through the Batch Job target
Sources for this section (4)
  • What happens in Load and Dispatch?
  • Why does a default-policy step after a failing step skip some records?
  • When does a fixed-size aggregator pass a smaller array?
  • When would a repair step call #[Batch::getFirstError()]?

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 (11 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