Advanced Mule 4 Development (Course #advanced-mule4)
For developers.
By the end, you can
By the end of this course, you will be able to engineer, profile and safeguard high-throughput Mule 4 applications — streaming DataWeave, watermarked batches, layered retries — so that they hold 2,000 msg/s at p99 under 500 ms.
Running case study
Meridian Bank opens its core banking to fintech partners: payment-initiation APIs must hit p99 under 500 ms, absorb 2,000 TPS settlement batches, and never double-debit — every call carries an idempotency key. Legacy COBOL adapters drop connections under load, dictating resilience patterns. Each module hardens one layer of this open-banking estate.
Programme every line is something you do
8 modules · 24 topics · in course-flow order
-
Module 1
DataWeave at Memory Scale
Objective. Refactor the settlement mapper into streaming DataWeave 2.x functions and modules that keep heap under a target 512 MB.
- Write reusable DataWeave 2.x functions and modules, exercised standalone before wiring into flows
- Stream oversized payloads instead of buffering them, proving flat memory on a 50 MB ISO 20022 file
- Cut heap pressure: compare streamed vs buffered mappings in VisualVM (target: heap < 512 MB)
-
Module 2
Batch, Async & Cache Levers
Objective. Construct a watermarked Batch job settling 1 M transactions overnight, plus VM/Anypoint MQ async lanes and cache scopes.
- Assemble Batch jobs: scope, steps, aggregate-report, on-complete, and watermarks persisted in Object Store v2
- Decouple slow systems: VM queues for in-app async, Anypoint MQ for durable cross-worker delivery
- Size cache scopes (TTL, key expression) around reference data (target: 60% fewer downstream lookups)
-
Module 3
Custom Connectors & Java
Objective. Arbitrate when a custom SDK connector pays off, then wrap Meridian's HSM signing library into a working connector.
- Arbitrate build vs reuse: custom SDK connector vs HTTP wrapper vs scripting module, maintenance cost included
- Scaffold a Mule SDK connector on Java 17: @Operations, @Configuration, @Connection management
- Invoke Java from flows: Java module, static methods, POJO payloads, classloader pitfalls
-
Module 4
Profiling to Throughput
Objective. Diagnose the payment bottleneck with JFR and VisualVM, then retune workers toward 2,000 msg/s at a target CPU under 70%.
- Profile with Java Flight Recorder and VisualVM: blocked pools, GC pauses, logging overhead
- Keep production paths lean: streaming readers, object-store eviction policy, heap headroom targets
- Tune throughput: max-concurrency, worker/vCore sizing on CloudHub and RTF, queue depth math
-
Module 5
Resilience by Design
Objective. Engineer a retry topology — until-successful exponential backoff + jitter, circuit breaker, DLQ — that rides out core-banking outages.
- Model error types and propagation: CUSTOM errors, rethrow semantics, global vs flow-scoped handlers
- Wrap flaky COBOL calls in until-successful with exponential backoff + jitter and reconnection policies
- Divert poison messages to an Anypoint MQ DLQ, replaying them safely via the idempotency-key store
-
Module 6
MUnit Beyond Happy Paths
Objective. Deliver a MUnit suite mocking every downstream system, exercising error branches, gating builds at a target 85% coverage.
- Mock and spy connectors: mock-when with DataWeave-generated responses, spy-verify on outbound calls
- Set meaningful coverage gates (target: 85%) and wire reports into the Maven build as a hard gate
- Simulate timeouts and HTTP 500s so backoff, circuit-breaker and DLQ paths prove themselves in CI
-
Module 7
Real-Time Push at Scale
Objective. Design a WebSocket push channel broadcasting fraud alerts to 5 k concurrent partner clients across workers.
- Operate the WebSocket connector: server vs client sockets, session lifecycle, heartbeat and reconnect
- Fan out pub/sub: bridge Anypoint MQ fraud-alert subscriptions to every connected WebSocket session
- Plan scale-out: sticky sessions across 2+ CloudHub/RTF workers and the cost of stateful connections
-
Module 8
Coherence Under Failure
Objective. Guarantee exactly-once money movement between Meridian's ledger and payment rails even when middleware dies mid-flight.
- Scope local vs XA transactions across Database and JMS endpoints; arbitrate when two-phase commit earns its latency
- Tune Anypoint MQ ack modes so redelivered initiations hit the idempotency-key store instead of double-charging a customer
- Prove recovery: kill a worker mid-batch, replay from the DLQ, reconcile zero duplicates and zero losses in the ledger
References & Official Documentation every claim above has a source
Module 1
- Streaming in Mule AppsMuleSoft Docs
Module 2
- Batch ProcessingMuleSoft Docs
Module 3
- Mule SDKs OverviewMuleSoft Docs
Module 4
- Back-Pressure and MaxConcurrencyMuleSoft Docs
Module 5
- Until Successful ScopeMuleSoft Docs
Module 6
- MUnit CoverageMuleSoft Docs
Module 7
- WebSockets ConnectorMuleSoft Docs
Module 8
- Transaction ManagementMuleSoft Docs