public enum MuleRuntimeFeature extends Enum<MuleRuntimeFeature> implements Feature
List of Features that can be configured to be enabled or disabled per application depending on the deployment context.
When some Mule runtime feature needs to be flagged, it should be added here as a new enum constant. Each entry must have a meaningful name, clear enough to understand what it represents, a description with enough information to know how the runtime will work whether the feature is enabled or disabled, the issue that motivated this feature, and a list of Runtime versions from when it exists. Each enum constant has to have its Javadoc with further information about how the feature is configured.
For example:
public enum MuleRuntimeFeature implements Feature {
...
/**
* An application shouldn't override reserved properties, but it was possible until MULE-17659. This behaviour has
* to be fixed by default to any application developed for 4.3.0+ Runtime but can be overridden by setting
* {@link MuleSystemProperties#HONOUR_RESERVED_PROPERTIES_PROPERTY} System Property.
*
* @since 4.4.0, 4.3.1
*
*/
HONOUR_RESERVED_PROPERTIES("Whether reserved properties such as 'app.name' can't be overridden by global properties.",
"MULE-19083", "4.4.0, 4.3.1", HONOUR_RESERVED_PROPERTIES_PROPERTY),
...
}
| Enum Constant and Description |
|---|
BATCH_FIXED_AGGREGATOR_TRANSACTION_RECORD_BUFFER
If set to true, then fixed batch aggregator will only commit when a full block is processed.
|
COMPUTE_CONNECTION_ERRORS_IN_STATS
If set to true, the connection errors will be taken into account to trigger alerts.
|
CREATE_CHILD_POLICY_CONTEXT_FOR_PARALLEL_SCOPES
"When enabled, a new (Source) Policy Context is created for the execution of parallel scopes: ParallelForeach, ScatterGather
and Async"
|
DEFAULT_ERROR_HANDLER_NOT_ROLLBACK_IF_NOT_CORRESPONDING
When enabled, the default error handler added by the runtime will not rollback a transaction that should not be rollback by
it
|
DISABLE_SCHEDULER_LOGGING
When enabled, the Scheduler does not log exceptions.
|
DW_REMOVE_SHADOWED_IMPLICIT_INPUTS
When enabled, DataWeave will remove implicit inputs when a variable with the same name is declared at the root level.
|
ENABLE_BYTE_BUDDY_OBJECT_CREATION
When enabled, the Objects factories will be created with Byte Buddy instead of CGLIB.
|
ENABLE_POLICY_ISOLATION
If set to true, extensions imported by a policy will be managed in complete isolation from the extensions imported by the
application that is being applied to, and validations will prevent the usage of explicit configurations declared by the
application as part of the policy initialization."
|
ENABLE_PROFILING_SERVICE
If set to true, profiling events will be produced.
|
ENABLE_XML_SDK_MDC_RESET
When enabled, the MDC context will reset after XML SDK Operation has been executed.
|
ENTITY_RESOLVER_FAIL_ON_FIRST_ERROR
If set to true, the Mule XML DSL parser will fail when deploying an application that declares a schema that cannot be
located.
|
ERROR_AND_ROLLBACK_TX_WHEN_TIMEOUT
When enabled, when a (local or xa) transaction reached timeout, an error will be thrown that can be handled using error
handling.
|
FORCE_RUNTIME_PROFILING_CONSUMERS_ENABLEMENT |
FORK_JOIN_COMPLETE_CHILDREN_ON_TIMEOUT |
HANDLE_SPLITTER_EXCEPTION
If set to true, then DW will correctly handle Splitter's exceptions, avoiding some serialization issues.
|
HONOUR_ERROR_MAPPINGS_WHEN_POLICY_APPLIED_ON_OPERATION
When set to true, the operation policy's error resolution is ignored so that the error mappings of the processor on which the
policy was applied are set successfully
|
HONOUR_INSECURE_TLS_CONFIGURATION
When enabled, the insecure attribute of the trust-store element will be honoured even when other attributes are configured.
|
HONOUR_PERSISTED_FLOW_STATE
When enabled, flows will honour the state configured in flows.deployment.properties when restarting the app, regardless of
the initial state.
|
HONOUR_RESERVED_PROPERTIES
An application shouldn't override reserved properties, but it was possible until MULE-17659.
|
MULE_PRINT_DETAILED_COMPOSITE_EXCEPTION_LOG
When enabled, AbstractForkJoinRouter based processors, such as ParallelForEach and ScatterGather routers, will show detailed
error information for their failed routes.
|
PARALLEL_FOREACH_FLATTEN_MESSAGE
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 will be flattened in a way that is consistent with what the foreach scope does.
|
RETHROW_EXCEPTIONS_IN_IDEMPOTENT_MESSAGE_VALIDATOR
When enabled, internal exceptions when processing an event in the 'idempotent-message-validator' will be rethrown instead of
raising a general MULE:DUPLICATE_MESSAGE.
|
SET_VARIABLE_WITH_NULL_VALUE |
START_EXTENSION_COMPONENTS_WITH_ARTIFACT_CLASSLOADER
If set to true, extensions will only be able to load exported resources from the deployable artifacts (application, policy,
domain).
|
SUPPORT_NATIVE_LIBRARY_DEPENDENCIES
When enabled, and the application needs to load a native library, the rest of the native libraries are preloaded in the
application's Classloader.
|
SUPPRESS_ERRORS
When enabled, error suppression will happen.
|
TO_STRING_TRANSFORMER_TRANSFORM_ITERATOR_ELEMENTS
If set to true, managed iterators transformed to Strings will show the representation of the elements instead of the generic
'org.mule.runtime.core.internal.streaming.object.ManagedCursorIteratorProvider$ManagedCursorIterator@######'.
|
USE_TRANSACTION_SINK_INDEX
When enabled, flux sinks will be cached using index as part of the key.
|
| Modifier and Type | Method and Description |
|---|---|
String |
getDescription()
Brief description of the feature.
|
String |
getIssueId()
The issue that caused this feature was added.
|
Optional<String> |
getOverridingSystemPropertyName()
System Property name to be used to decide whether the feature has to be enabled or disabled for the whole Runtime instance
without considering any other condition related to the deployment context.
|
String |
getSince()
A comma-separated list of versions since this feature exists.
|
static MuleRuntimeFeature |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static MuleRuntimeFeature[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final MuleRuntimeFeature HONOUR_RESERVED_PROPERTIES
MuleSystemProperties.HONOUR_RESERVED_PROPERTIES_PROPERTY System Property.public static final MuleRuntimeFeature HANDLE_SPLITTER_EXCEPTION
error.cause return a different exception. For more information see DW-383.public static final MuleRuntimeFeature BATCH_FIXED_AGGREGATOR_TRANSACTION_RECORD_BUFFER
public static final MuleRuntimeFeature COMPUTE_CONNECTION_ERRORS_IN_STATS
public static final MuleRuntimeFeature TO_STRING_TRANSFORMER_TRANSFORM_ITERATOR_ELEMENTS
public static final MuleRuntimeFeature ENABLE_POLICY_ISOLATION
public static final MuleRuntimeFeature ENTITY_RESOLVER_FAIL_ON_FIRST_ERROR
public static final MuleRuntimeFeature ENABLE_PROFILING_SERVICE
public static final MuleRuntimeFeature SET_VARIABLE_WITH_NULL_VALUE
public static final MuleRuntimeFeature START_EXTENSION_COMPONENTS_WITH_ARTIFACT_CLASSLOADER
public static final MuleRuntimeFeature DW_REMOVE_SHADOWED_IMPLICIT_INPUTS
public static final MuleRuntimeFeature DEFAULT_ERROR_HANDLER_NOT_ROLLBACK_IF_NOT_CORRESPONDING
public static final MuleRuntimeFeature FORCE_RUNTIME_PROFILING_CONSUMERS_ENABLEMENT
public static final MuleRuntimeFeature PARALLEL_FOREACH_FLATTEN_MESSAGE
public static final MuleRuntimeFeature ENABLE_BYTE_BUDDY_OBJECT_CREATION
public static final MuleRuntimeFeature MULE_PRINT_DETAILED_COMPOSITE_EXCEPTION_LOG
public static final MuleRuntimeFeature HONOUR_ERROR_MAPPINGS_WHEN_POLICY_APPLIED_ON_OPERATION
public static final MuleRuntimeFeature SUPPRESS_ERRORS
public static final MuleRuntimeFeature RETHROW_EXCEPTIONS_IN_IDEMPOTENT_MESSAGE_VALIDATOR
public static final MuleRuntimeFeature HONOUR_INSECURE_TLS_CONFIGURATION
public static final MuleRuntimeFeature USE_TRANSACTION_SINK_INDEX
public static final MuleRuntimeFeature SUPPORT_NATIVE_LIBRARY_DEPENDENCIES
public static final MuleRuntimeFeature CREATE_CHILD_POLICY_CONTEXT_FOR_PARALLEL_SCOPES
public static final MuleRuntimeFeature DISABLE_SCHEDULER_LOGGING
public static final MuleRuntimeFeature ERROR_AND_ROLLBACK_TX_WHEN_TIMEOUT
public static final MuleRuntimeFeature ENABLE_XML_SDK_MDC_RESET
public static final MuleRuntimeFeature HONOUR_PERSISTED_FLOW_STATE
public static final MuleRuntimeFeature FORK_JOIN_COMPLETE_CHILDREN_ON_TIMEOUT
public static MuleRuntimeFeature[] values()
for (MuleRuntimeFeature c : MuleRuntimeFeature.values()) System.out.println(c);
public static MuleRuntimeFeature valueOf(String name)
name - the name of the enum constant to be returned.IllegalArgumentException - if this enum type has no constant with the specified nameNullPointerException - if the argument is nullpublic String getDescription()
FeaturegetDescription in interface Featurepublic String getIssueId()
FeatureMULE-1234getIssueId in interface Featurepublic String getSince()
Featurepublic Optional<String> getOverridingSystemPropertyName()
FeatureSystem Property name to be used to decide whether the feature has to be enabled or disabled for the whole Runtime instance without considering any other condition related to the deployment context. The feature will be enabled according to the value provided, by parsing it as a boolean.
For instance if Feature.getOverridingSystemPropertyName():
In other words:
Feature.getOverridingSystemPropertyName() is set to some.meaningful.name
System.getProperty("some.meaningful.name">) is not null),
then the feature will be enabled only when Boolean.getBoolean("some.meaningful.name") returns
trueSystem.getProperty("some.meaningful.name">) is null),
then the feature flagging configuration will be applied to decide whether the feature is enabled or disabled.Feature.getOverridingSystemPropertyName() is not set, then the feature flagging configuration will be applied to
decide whether the feature is enabled or disabled.getOverridingSystemPropertyName in interface FeatureCopyright © 2025 MuleSoft, Inc.. All rights reserved.