---
schema_version: "1"
id: 3b42eb88ea9b24ecfaaa3e7ba075cc4c4facf9ccd926ae6b19ecefc16a0dbb44
title: Feature Flagging Mechanism
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/mule-runtime/4.6/feature-flagging.md
canonical_url: https://docs.mulesoft.com/mule-runtime/4.6/feature-flagging
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 9179a42bf361b116c9675f6a9c5c99529f664e5ee9a28e77c49b0dc656599c98
description: MuleSoft Documentation Site
release: "4.6"
latest: false
---
---
product: Mule Runtime
version: 4.6
---

# Feature Flagging Mechanism

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

Mule runtime engine incorporates a feature flagging mechanism that enables Mule applications to
change the behavior of the Mule instance depending on the required minimum Mule version. This
feature ensures backward compatibility because it allows Mule applications to continue working on
later Mule runtime versions, while new Mule applications can benefit from the latest bug fixes
implemented in the Mule instance.

The feature flagging mechanism is automatic. For each Mule application deployed to a Mule instance,
Mule determines which features are enabled or disabled based on the application’s minimum Mule
version configured in the application descriptor file (`mule-artifact.json`) of the Mule app.

By default, Mule runtime engine disables any new features or bug fixes that aren’t backward
compatible with Mule applications running in earlier Mule versions. However, it is possible to
manage the feature flags configured for each Mule application or all applications running in the
same Mule instance.

## Configure Feature Flags for a Mule Application

To configure feature flags for a Mule application, change the `minMuleVersion` value in the
`mule-artifact.json` file of your app. This configuration instructs the Mule instance to run this
application implementing all features and bug fixes that were released to that particular version
and disabling features and bug fixes that are active by default in later Mule versions.

For example, you can run a Mule application in Mule 4.5.0 instructing the Mule instance to apply
only the features that don’t change core functionality up to Mule 4.1.0:

Example `mule-artifact.json` file

{ "minMuleVersion": "4.1.0" }

## Configure Feature Flags for the Mule Instance

An alternative way to configure feature flags is by using system properties. In this case, you can
enable or disable each one of the available feature flags. However, configuring feature flags
through system properties applies the changes at the Mule instance level, so all applications
deployed to this Mule instance behave according to the configured feature flags.

Note that this configuration is compatible with on-premise deployments only because you cannot
configure system properties in other deployment targets.

For example, you can configure a Mule 4.5.0 instance to enable and disable specific features for all
applications running on this instance:

Example `wrapper.conf` file

… wrapper.java.additional.999=-DHONOUR\_RESERVED\_PROPERTIES\_PROPERTY=true
wrapper.java.additional.1000=-DCOMPUTE\_CONNECTION\_ERRORS\_IN\_STATS\_PROPERTY=false

## Feature Flags Reference

The following table shows the available feature flags, a description of their functionality, the
Mule version in which the flag became available, the earlier minor version releases that enable the
flag by default, and the issue ID in which the change was implemented:

<table><colgroup><col> <col></colgroup><thead><tr><th>Feature Flag</th><th>Description</th></tr></thead><tbody><tr><td><div><div><p><code>mule.batch.fixed.aggregator.transaction.record.buffer</code></p></div></div></td><td><div><div><p>When enabled, batch aggregators with fixed size aggregators commit only when a full block is processed.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.4.0</p></li><li><p>4.3.0-20210304</p></li><li><p>4.2.2-20210304</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>MULE-19218</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.compute.connection.errors.in.stats</code></p></div></div></td><td><div><div><p>When enabled, connection errors are computed as part of alerts triggering.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.4.0</p></li><li><p>4.3.0-20210304</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.4.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>MULE-19020</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.enable.default.errorhandler.not.rollback.incorrect.tx</code></p></div></div></td><td><div><div><p>When enabled, the default error handler added by the Runtime doesn’t roll back a transaction if it doesn’t correspond to have this roll back made.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li><li><p>4.4.0-20211227</p></li><li><p>4.3.0-20211222</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>MULE-19919</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.dw.remove_shadowed_implicit_inputs</code></p></div></div></td><td><div><div><p>When enabled, DataWeave removes implicit inputs when a variable with the same name is declared at the root level.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.4.0-20211026</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.4.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>DW-893</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.enable.byteBuddy.objectCreation</code></p></div></div></td><td><div><div><p>When enabled, the object’s factories are created with Byte Buddy instead of CGLIB.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.4.0-20220321</p></li><li><p>4.3.0-20220321</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.4.0</p></li></ul></div><div><p><strong>Deprecated Since</strong></p></div><div><ul><li><p>4.5.0, ByteBuddy is mandatory</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-10672687</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.enable.policy.isolation</code></p></div></div></td><td><div><div><p>When enabled, Mule manages extensions imported by a policy in complete isolation from the extensions imported by the Mule application. Also, validations prevent the use of explicit configurations that the application declared as part of the policy initialization.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.4.0</p></li><li><p>4.3.0-20210622</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.4.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>MULE-19226</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.enable.profiling.service</code></p></div></div></td><td><div><div><p>When enabled, the Runtime profiling capabilities become available.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.4.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>MULE-19588</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.entityResolver.failOnFirstError</code></p></div></div></td><td><div><div><p>When enabled, the Mule XML DSL parser fails when deploying an application that declares a schema that cannot be located. Otherwise, the parser fails if the application also makes use of the namespace to which such a schema is bound.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.4.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.4.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>EE-7827</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.force.runtime.profiling.consumers.enablement</code></p></div></div></td><td><div><div><p>When enabled, profiling consumers implemented by the Runtime are enabled by default.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.4.0-20220221</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>MULE-19967</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.dw.handle_splitter_exception</code></p></div></div></td><td><div><div><p>When enabled, DataWeave correctly handles internal exceptions while splitting a payload, preventing subsequent serialization errors.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.4.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.4.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>DW-383</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.honour.reserved.properties</code></p></div></div></td><td><div><div><p>When enabled, reserved properties such as <code>app.name</code> can’t be overridden by global properties (overrides are ignored).</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.4.0</p></li><li><p>4.3.0-20220221</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.4.0, 4.3.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>MULE-17659</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.honourErrorMappingsWhenPolicyAppliedOnOperation</code></p></div></div></td><td><div><div><p>When enabled, the operation policy’s error resolution is ignored. Therefore, the error mappings of the processor on which the policy is applied are set successfully.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li><li><p>4.4.0-20220722</p></li><li><p>4.3.0-20220725</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-11147961</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.detailedCompositeRoutingExceptionLog</code></p></div></div></td><td><div><div><p>When enabled, AbstractForkJoinRouter-based processors, such as Parallel For Each and Scatter-Gather routers, now show detailed error information for their failed routes.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li><li><p>4.4.0-20220622</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-10965130</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.parallelForeach.flattenMessage</code></p></div></div></td><td><div><div><p>When enabled, if the items to iterate over on a parallel-foreach scope are messages (such as the output of an operation that returns Result objects), they are flattened in a way that is consistent with what the foreach scope does.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li><li><p>4.4.0-20220221</p></li><li><p>4.3.0-20220221</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>MULE-20067</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.setVariable.WithNullValue</code></p></div></div></td><td><div><div><p>When enabled, the Set Variable component creates a variable even if its value is <code>null</code>.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.4.0</p></li><li><p>4.3.0-20210622</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.4.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>MULE-19443</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.startExtensionComponentsWithArtifactClassloader</code></p></div></div></td><td><div><div><p>When enabled, extensions are only able to load exported resources from the deployable artifacts (application, policy, domain).</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.4.0</p></li><li><p>4.3.0-20211026</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.4.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>MULE-19815</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.transformer.toString.transformIteratorElements</code></p></div></div></td><td><div><div><p>When enabled, managed cursor iterators transformed to strings show the representation of the elements instead of generic value <code>org.mule.runtime.core.internal.streaming.object.-ManagedCursorIteratorProvider$ManagedCursorIterator@</code>.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.4.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.4.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>MULE-19323</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.suppress.mule.exceptions</code></p></div></div></td><td><div><div><p>When enabled, error suppression occurs. This feature prevents components such as the Web Service Consumer connector and the Until Successful scope from reporting errors outside their namespaces.</p></div><div><p>Example of an error log extract for a connectivity error at the Web Service Consumer (HTTP:CONNECTIVITY is being suppressed):</p></div><div><div><pre>Error type : WSC:INVALID_WSDL
Caused by  : HTTP:CONNECTIVITY</pre></div></div><div><p>Suppressed errors are treated as underlying causes that can also be matched by On Error handlers.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.4.0-20220922</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0, 4.4.0-202210, 4.3.0-202210</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-11308645</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.support.native.library.dependencies</code></p></div></div></td><td><div><div><p>When enabled, if an application accesses a native library, the rest of its declared native libraries are also loaded. This prevents errors like <code>UnsatisfiedLinkError</code> when the accessed native library depends on another native library. Libraries must be declared at the <code>sharedLibraries</code> configuration following the dependency order, meaning that if library A depends on library B, then A must be declared first. Declaring the native libraries at a domain is also supported.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li><li><p>4.4.0-20230417</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-11855052</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.rethrowExceptionsInIdempotentMessageValidator</code></p></div></div></td><td><div><div><p>When enabled, internal exceptions are rethrown instead of throwing a general <code>MULE:DUPLICATE_MESSAGE</code> when processing an event in the <code>idempotent-message-validator</code>.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-11529823</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>com.mulesoft.dw.xml_reader.honourMixedContentStructure</code></p></div></div></td><td><div><div><p>When this property is set to true, DataWeave retains a mixed-content structure instead of grouping text with mixed content into a single text field.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-11071481</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>ENFORCE_ERROR_TYPES_VALIDATION</code></p></div></div></td><td><div><div><p>When enabled, error types validations are enforced, even for error handlers/components that aren’t being referenced. This feature isn’t configurable by system property.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>MULE-19879</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.disable.attribute.parameter.whitespace.trimming</code></p></div></div></td><td><div><div><p>When enabled, the runtime trims whitespaces from parameter values defined at the attribute level in the DSL.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>MULE-19803</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.disable.pojo.text.parameter.whitespace.trimming</code></p></div></div></td><td><div><div><p>When enabled, the runtime trims whitespaces from CDATA text parameter of pojos in the DSL.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>MULE-20048</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.enforce.expression.validation</code></p></div></div></td><td><div><div><p>When enabled, expression validations are enforced for <code>targetValue</code>, not allowing a literal value.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>MULE-19987</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.enforce.dw.expression.validation</code></p></div></div></td><td><div><div><p>When enabled, expression validations are enforced for all DataWeave expressions.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>MULE-19967</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.disable.registryBootstrapOptionalEntries</code></p></div></div></td><td><div><div><p>When enabled, <code>optional</code> attribute in entries in a <code>registry-bootstrap.properties</code> are ignored.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-10736301</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.disable.applyObjectProcessor</code></p></div></div></td><td><div><div><p>When enabled, <code>org.mule.runtime.core.privileged.registry.ObjectProcessor</code> implementations aren’t applied on objects registered into the <code>SimpleRegistry</code>.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>MULE-11737</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.deployment.validateAppModelWithRegionClassloader</code></p></div></div></td><td><div><div><p>When enabled, the application model is validated with the region classloader. When disabled, it is validated with the application classloader.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-10808757</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.suppress.mule.exceptions</code></p></div></div></td><td><div><div><p>When enabled, error suppression happens. This affects, for example, the Web Service Consumer connector and the Until Successful scope that always reports errors from their corresponding namespaces (MULE and WSC). Suppressed errors are treated as underlying causes.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li><li><p>4.4.0-202210</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0, 4.4.0-202210, 4.3.0-202210</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-11308645</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.foreachRouterRejectsMapExpressions</code></p></div></div></td><td><div><div><p>When enabled, the 'foreach' router generates an <code>IllegalArgumentException</code> if the collection expression evaluates to a <code>java.util.Map</code>.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-12207110</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.honour.insecure.tls.configuration</code></p></div></div></td><td><div><div><p>When enabled, the insecure TLS configuration is honored even if there are fields of the TrustStore configured.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-10822938</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.transaction.sink.index</code></p></div></div></td><td><div><div><p>When enabled, flux sinks are cached using index as part of the key. If a sink is already in use, a new sink is created.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.4.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.0.0, 4.1.0, 4.2.0, 4.3.0, 4.4.0, 4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-12128703</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.enable.policy.context.parallel.scopes</code></p></div></div></td><td><div><div><p>When enabled, a new (Source) Policy Context is created for the execution of parallel scopes: ParallelForeach, ScatterGather, and Async.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li><li><p>4.4.0-202306</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-13509911</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.disableJmx.for.commons.pool2</code></p></div></div></td><td><div><div><p>When enabled, MBeans aren’t registered for <code>commons-pool2</code>.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.6.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.6.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-12422473</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.disable.scheduler.logging</code></p></div></div></td><td><div><div><p>When enabled, the Scheduler doesn’t log exceptions.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.6.0</p></li><li><p>4.5.1</p></li><li><p>4.4.0-20231026</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.6.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-13881167</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.forkJoin.completeChildContextsOnTimeout</code></p></div></div></td><td><div><div><p>When enabled, the processors that perform fork and join work (currently, Scatter-Gather and Parallel For Each routers) complete the child event contexts when a timeout occurs.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.6.14</p></li><li><p>4.4.0-20250217</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.10.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-16941297</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.forcefulShutdown.raiseCancelledError</code></p></div></div></td><td><div><div><p>When set to true, events cancelled during a forceful shutdown raise a <code>MULE:CANCELLED</code> error instead of <code>MULE:UNKNOWN</code>. Dynamic configuration creation attempts during shutdown also raise a <code>MULE:CANCELLED</code> error instead of <code>MULE:UNKNOWN</code>.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.11.0</p></li><li><p>4.10.1</p></li><li><p>4.9.11</p></li><li><p>4.6.24</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.11.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-19648397</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.propagate.objectStore.customization.to.policies</code></p></div></div></td><td><div><div><p>When set to true, policies use the object store implementation configured for the application. This enables alternative implementations, such as Object Store v2, to be used by policies.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.11.2</p></li><li><p>4.9.15</p></li><li><p>4.6.28</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.12.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-19607093</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.enable.inline.tls.context.initialization</code></p></div></div></td><td><div><div><p>When set to true, inline TLS contexts invoke their lifecycle initialization method, ensuring inline TLS contexts are fully initialized before use.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.11.3</p></li><li><p>4.9.16</p></li><li><p>4.6.29</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.12.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-20038933</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.put.trace.id.and.span.id.in.mdc</code></p></div></div></td><td><div><div><p>When enabled, the trace ID and span ID are added to the MDC when available.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-12979787</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.enable.mule.specific.tracing.information</code></p></div></div></td><td><div><div><p>When enabled, the <code>ancestor-mule-span-id</code> value is added in the trace state when a span is propagated.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.5.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-13215870</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.tx.error.when.timeout</code></p></div></div></td><td><div><div><p>When enabled, an error is thrown when a local or XA transaction reach timeout. This error can be handled using error handling.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.6.1</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.6.1</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-14608096</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.enable.xml.sdk.mdc.reset</code></p></div></div></td><td><div><div><p>When enabled, the MDC context resets after XML SDK operation is executed.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.8.0</p></li><li><p>4.7.1</p></li><li><p>4.6.4</p></li><li><p>4.4.0-202406</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.8.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-15206528</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.honour.persisted.flow.state</code></p></div></div></td><td><div><div><p>When enabled, flows honor the state configured in <code>flows.deployment.properties</code> when restarting the app, regardless of the initial state.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.8.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.8.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-15750334</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.disable.optimised.notification.handler.dynamic.resolution.update.based.on.delegate</code></p></div></div></td><td><div><div><p>When disabled, dynamic resolution of notification handling doesn’t occur after the Mule artifact is initialized. This can cause race conditions that affect monitoring metrics.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.8.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-16828516</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.ntlm.avoid.send.payload.on.type1</code></p></div></div></td><td><div><div><p>When enabled, body contents aren’t sent on NTLM type 1 requests. This saves resources by not sending a payload that is never consumed (the server rejects the payload until the dance is completed).</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.8.0</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.9.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-17107281</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.repeatableStreaming.bytes.eagerRead</code></p></div></div></td><td><div><div><p>When enabled, the <code>read</code> methods of bytes repeatable streams return immediately with any available data. If disabled, they don’t return until the requested <code>len</code> is fully read. Set this property to <code>true</code> to process SSE events over HTTP as they arrive instead of buffering them.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.10.0</p></li><li><p>4.9.7</p></li><li><p>4.6.20</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.10.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-18716253</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.redeliveryPolicy.encode.secureHash</code></p></div></div></td><td><div><div><p>When enabled, the encrypted payload is encoded in hexadecimal format when no Expression ID is specified.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.11.0</p></li><li><p>4.10.1</p></li><li><p>4.9.11</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.11.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-18584560</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.untilSuccessful.retryOnCriticalError.disallow</code></p></div></div></td><td><div><div><p>When enabled, events aren’t retried if a <code>MULE:CRITICAL</code> error occurs within an until-successful scope.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.11.0</p></li><li><p>4.10.1</p></li><li><p>4.9.11</p></li><li><p>4.6.24</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.11.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-19648397</p></li></ul></div></div></td></tr><tr><td><div><div><p><code>mule.flowStop.parallel.enable</code></p></div></div></td><td><div><div><p>When enabled, all Mule flows are stopped in parallel rather than sequentially when a Mule application is stopped. This prevents delays caused by in-flight events in one flow from delaying the shutdown of other flows.</p></div><div><p><strong>Available Since</strong></p></div><div><ul><li><p>4.12.0</p></li><li><p>4.11.1</p></li><li><p>4.9.14</p></li><li><p>4.6.27</p></li></ul></div><div><p><strong>Enabled by Default Since</strong></p></div><div><ul><li><p>4.12.0</p></li></ul></div><div><p><strong>Issue ID</strong></p></div><div><ul><li><p>W-21228085</p></li></ul></div></div></td></tr></tbody></table>

## See Also

[Configure System Properties](https://docs.mulesoft.com/mule-runtime/4.6/mule-app-properties-system)
