Providing default instances of factory configurations
You can create default instances of your factory configuration when using the OSGi metatype services. One of the design principles of Liberty is to keep user configuration as small and simple as possible. By providing default instances of your factory configurations, you don't have to add these configurations into the server.xml file.
Example
To provide a default configuration instance, you need
to include it in an XML file within your OSGi bundle, and reference
the file by using the
IBM-Default-Config
header in
the bundle manifest file as follows:IBM-Default-Config: OSGI-INF/wlp/defaultInstances.xml
The
format of the XML file is the same as that of the server.xml file,
but you must specify a unique identifier for each instance. For example,
to provide a default instance of the teenager configuration
that is used in the example on the Single versus multiple configuration instances topic, the defaultInstances.xml file
must have the following settings:
<server>
<teenager id="predefined-teen1" name="Susie" age="19" />
</server>
The default instance
is not exposed to users through the configuration schema, and therefore
it is not visible in the development tools; however, you can document
the instance so that your users can override the individual attributes
in their server.xml files as follows:
<teenager id="predefined-teen1" age="13" />
This
line of code will override the age attribute
of the default instance, but the name attribute
remains valid.