About Mule Runtime

Mule is a lightweight integration engine that runs Mule apps. Rather than creating multiple point-to-point integrations between systems, services, APIs, and devices, you use Mule to create apps that manage message routing, data mapping, orchestration, reliability, security, and scalability between nodes.

The runtime defines the rules for how event data is handled in an application. Mule apps receive events, then process and route them to other endpoints.

Developing with Mule You Can…​

  • Deploy or integrate apps or systems on premise or in the Cloud.

  • Employ out-of-the-box connectors to create SaaS integration apps.

  • Build and expose APIs.

  • Consume APIs.

  • Create Web services that orchestrate calls to other services.

  • Create interfaces to expose apps for mobile consumption.

  • Integrate B2B with solutions that are secure, efficient, and quick to build and deploy.

  • Shift apps to the Cloud.

  • Connect B2B e-commerce activities.

About the Non-blocking Execution Engine

The Mule execution engine is based on a non-blocking runtime. This is a task-oriented execution model that allows you to take advantage of non-blocking IO calls and to avoid performance problems.

Flows always function synchronously. If you need to achieve asynchronous patterns, such as Fire-and-Forget, you can use the Async (<async>) component.

Each Mule event processor can inform the runtime if it is CPU intensive, CPU light, or an IO intensive operation. This helps the runtime self-tune for different workloads dynamically, removing the need for you to manage thread pools manually to achieve optimum performance.

About Thread Pool Executor (Schedulers) Configuration

You can configure schedulers (thread pool executors) through the well-commented schedulers.conf file in the standalone Mule EE installation.