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.
The latest information about Liberty feature management is available on the Open Liberty website.
<featureManager>
element, and each feature within the <feature>
subelement. For example:<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.
Singleton Features
servlet-3.0
servlet-3.1
servlet-3.0
preserves behavior for existing applications,
while servlet-3.1
provides new capabilities for new or modified applications.
Although there is a choice of specification versions, no additional configuration properties are
required, or provided, to control individual differences between the two versions.servlet-3.0
or servlet-3.1
. If you
have applications that need different versions of the servlet feature, you must deploy them in
different servers. Many other features include the servlet feature as a dependency. In the Liberty product, these features have been updated
to work with either version. This ensures that you can configure a complete stackof features when you use
servlet-3.1
, but features from other sources might not have been
updated to tolerate
servlet-3.1
. To enable features to tolerate
servlet-3.1
, modify the feature manifest as
follows: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
If a feature is superseded, a new feature or a combination of features might provide an advantage over the superseded feature.For example, new, finer-grained features might be used in place of the superseded one 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 you decide whether to change your configuration. Superseded features remain completely supported and valid for use in your configuration, but you might be able to improve your configuration by using the newer features.
For more information about superseded features, see Superseded Liberty features.