The Ksquare Group

Key Capabilities of Mule 4

Smart Runtime Engine

The internal execution engine is updated with a new self-tuning and non-blocking reactive engine, allowing better performance and out-of-the-box scalability. Exchange patterns no longer exist, and all connectors receive responses. Every flow uses a non-blocking processing strategy with no need to configure processing strategies anymore, and a single, global thread pool exists for all flows.

Simplified Message

The Mule Message structure has evolved, making it easier to work with properties and provide more consistency across connectors.

Improved Error Handling

There is more comfortable and more robust error handling with a new Try scope. Now, each component declares the type of errors that it can throw so that you can identify potential errors at the appropriate time.

Enhance Events Directly from Connectors/Modules

It is now possible for any given module operation to define a target (or target variable), which saves the result in a variable. It reduces flow complexity by removing the need for an enricher.

Simplified Connectors and Modules

There is more consistency around modules and connectors, creating one centralized experience on ways to interact with Mule components.

Enhanced DataWeave (2.0)

DataWeave is now the default expression language. Combined with the built-in streaming capabilities, it simplifies most everyday tasks.

1. DataWeave substitutes MEL: DataWeave can now easily access data anywhere in your flow without the concern for transforming it.

2. Movement to more functional programming using lambdas.

3. Typing for reusable functions.

4. Changes in flow controls: 

  • From “when otherwise” to “if-else.”
  • Pattern Matcher from “case default” to “match else.”

5. Type References from: type to Type.

6. Conditional Key-Value Parenthesis from “value when the condition” to “value if condition.”

7. Modular paradigm:

  • Now support type introspection.

8. Added “import” and “import function from” for modules.

Streaming Management

The runtime automatically handles data streams, which greatly simplifies working with data in the runtime. 

Would like to know more about the migration? Let’s connect!

Read more about our latest news and articles