Getting started Community Training Tutorials Documentation APIs, AI & Tools
You can use system properties to specify or override property placeholder values that a connector or component in a Mule app uses. MuleSoft recommends this practice when you are deploying your app to a new environment and need to override values in configuration property files for your Mule app.
You can manage system properties in these ways:
From Anypoint Studio through the Run Configurations window for the project.
From the command line for a standalone Mule instance.
You can add properties when you launch your project through the Package Explorer in Studio:
Right-click the project for your Mule app in Package Explorer.
Click Run As → Run Configurations.
Pick the Arguments tab.
Add your arguments to the VM Arguments field, prepending the property names with -D
When you deploy your app through Studio, the new values for property placeholders will take precedence over other values set for those placeholders:
<logger message="${propertyFromJVMArg}" doc:name="System Property Set in Studio through JVM args"/>
For On-premises Mule instances, you can set and change system properties from the command line or define them in the wrapper.conf file.
Append -M-Dmule.<variable-name>=<value> to the mule or mule start command to set a system property.
Replace <variable-name> with your desired property name.
Replace <value> with the value to define for the property.
The following example starts Mule and defines two properties with different values:
$ mule start -M-Dmule.myEnv=prod -M-Dmule.myValue=1234
Add wrapper.java.additional.<n> entries to the wrapper.conf file in the ${MULE_HOME}/conf directory, prepending property names with -D.
For example, to set Mule encoding, add the following line to the Wrapper configuration file:
wrapper.java.additional.999=-Dmule.encoding=ISO-8859-1
Ensure that the new property entry number is not in use.
If you add wrapper.java.additional.<n> entries to the configuration file, always change each instance of <n> to a new number that is not used, otherwise, Java does not parse the properties correctly.
Use values outside the sequence for properties in an include file.
If you add wrapper.java.additional.<n> entries in an include file, configure a high <n> value to ensure that the numeric values of the properties are outside the standard sequence. Also, ensure that the wrapper.ignore_sequence_gaps property is set to true. For example:
wrapper.java.additional.1900=-Dprop=value1
wrapper.java.additional.1901=-DotherProp=value2
wrapper.ignore_sequence_gaps=TRUE