Feature management
Features are the units of functionality by which you control the pieces of the runtime environment that are loaded into a particular server.
<server>
<featureManager>
<feature>servlet-3.0</feature>
<feature>localConnector-1.0</feature>
</featureManager>
</server>
You can specify any feature in the server configuration file. Some features include other features within them. The same feature can be included in one or more other features. At run time, the feature manager computes the combined list of content that is required to support the requested set of features.
For information about the main available features, see Liberty features. For information about the restrictions that apply to each feature, see Runtime environment known issues and restrictions.
Dynamic changes to feature configuration
When you change the feature configuration, the feature manager recalculates the list of required bundles, stops and uninstalls those bundles that are no longer required, and installs and starts any additions. Therefore, all features are designed to cope with other features that are being dynamically added or removed.
![[8.5.5.4 or later]](../ng_v8554.gif)
Singleton Features
- servlet-3.0
- servlet-3.1
Subsystem-Content: com.ibm.websphere.appserver.servlet-3.0; ibm.tolerates:="3.1"; type="osgi.subsystem.feature"
[ERROR ] CWWKF0033E: The singleton features servlet-3.1 and servlet-3.0 cannot be loaded at the same time. The configured features servlet-3.1 and servlet-3.0 include one or more features that cause the conflict.
To resolve this problem, ensure that the configured features all specify, or tolerate, the same
version of that singleton feature. If you have hard requirements on both feature versions, you must
move some of your applications to a different server. For more information on tolerating singleton
features, see Tolerating singleton features.Superseded features
The superseded label on a feature indicates that a new feature or a combination of features might provide an advantage over using the superseded feature. For example, new, finer-grained features might be used in place of the superseded one in order to reduce the server footprint by excluding content that might not be necessary. The new feature or features might not completely replace the function of the superseded feature, so you must consider your scenario before deciding whether to change your configuration. Superseded features remain completely supported and valid for use in your configuration; the superseded label just provides an indication that you might be able to improve your configuration.
Very occasionally, a feature that includes other features is superseded by a new version of the feature that does not include all those features; the features that are not included in the new version are considered to be separated. If your application needs to use the functions of a separated feature, you must explicitly add the separated feature to your configuration.
- featureA-1.0 includes featureB-1.0
- featureA-2.0 does not include featureB-1.0 (or any later versions of featureB)
- Include featureA-1.0 in your server.xml file
- Include featureA-2.0 and featureB-1.0 in your server.xml file