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.
|
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."
|
HONOUR_RESERVED_PROPERTIES
An application shouldn't override reserved properties, but it was possible until MULE-17659.
|
| 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 BATCH_FIXED_AGGREGATOR_TRANSACTION_RECORD_BUFFER
public static final MuleRuntimeFeature COMPUTE_CONNECTION_ERRORS_IN_STATS
public static final MuleRuntimeFeature ENABLE_POLICY_ISOLATION
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 © 2021 MuleSoft, Inc.. All rights reserved.