Liberty: Including configuration information from external xml files in the server.xml file
You can use the include element to include configuration information from an external xml file in the server.xml file.
If you have configuration information in an external xml
file, you can use the include element to include
the configuration information in the server.xml file.
For example, if you have an xml file, simpleSecurity.xml,
with the following content:
<server>
<quickStartSecurity userPassword="thePassword"/>
</server>
You can use the following method to include
the configuration information in simpleSecurity.xml file
in your server.xml file: <server>
<featureManager>
<feature>servlet-3.0</feature>
</featureManager>
<quickStartSecurity userName="theUser"/>
<include location="simpleSecurity.xml"/>
</server>
The effective configuration is as follows:<server>
<featureManager>
<feature>servlet-3.0</feature>
</featureManager>
<quickStartSecurity userName="theUser"/>
<quickStartSecurity userPassword="thePassword"/>
</server>
Conflict handling
You can configure the onConflict attribute in the server.xml file to handle the value conflict between server.xml file and the external file. This attribute can be configured to one of the three values: Merge, Replace, and Ignore.
- Merge
- The values are merged together. Merge is the
default value of the onConflict attribute and Merge is
equivalent to the behavior that you get if you specify all of the
conflicting elements in the server.xml file.
In the previous example, there are two quickStartSecurity elements,
and they are effectively merged into a single element. The effective
configuration is as follows:
For more information about how configuration elements are merged, see Liberty: Configuration element merging rules.<quickStartSecurity userName="theUser" userPassword="thePassword"/>
- Replace
- The value from the included configuration file replaces the conflicting
values in the server.xml file. In the previous
example, the included quickStartSecurity element
replaces the one from the server.xml file, so
the effective configuration is as follows:
<quickStartSecurity userPassword="thePassword"/>
- Ignore
- The value from the included file is ignored. In the previous example,
the quickStartSecurity element from the included
file is ignored, so the effective configuration is as follows:
<quickStartSecurity userName="theUser"/>