IBM Support

How to determine if Liberty is using a specific feature

How To


Summary

In some cases Liberty uses features that are not listed in the server.xml file. This article shows you how to determine whether a Liberty server is running with a given feature.

Steps

The only way to determine with certainty whether a Liberty server has a particular feature enabled is to check the CWWKF0012I message in the console.log, messages.log, or trace log from the Liberty server. This message contains the full expanded list of features that the Liberty server is running with.
Here is an example of the message from a Liberty server that has the samlWeb-2.0 and webProfile-7.0 features defined in its server.xml:
CWWKF0012I: The server installed the following features: [appSecurity-2.0, distributedMap-1.0, jndi-1.0, samlWeb-2.0, servlet-3.0, ssl-1.0].
Note: the CWWKF0012I message uses the word "installed", but it is in fact listing features that are installed and running on the Liberty server.

Additional Information

It is possible to determine whether a Liberty server is using a given feature by examining the server's configuration, but because there are many different ways that a given feature can be defined in the configuration, this approach is not recommended.
The most direct way that a Liberty server can be configured to load a given feature is for the feature to be defined in the Liberty server.xml. For example:
<feature>samlWeb-2.0</feature>
Keep in mind that Liberty may have multiple configuration files. A Liberty server must always have a server.xml configuration file, but it may optionally include additional .xml files defined in the server.xml, or additional .xml files within the configDropins directories. For more details on the available Liberty configuration file configurations, refer to the following page: https://www.ibm.com/docs/en/was-liberty/nd?topic=alm-using-include-elements-variables-ref-tags-in-configuration-files
It is also possible for a feature to be loaded as a dependency of a definition for another feature. For example, if the webProfile-7.0 feature is defined in the server.xml, it will attempt to load a variety of other features, and the ones that are installed to the Liberty environment will be loaded by the server. The Liberty Knowledge Center contains a list of which features a given feature enables. Here is the page page for webProfile-7.0 for reference: https://www.ibm.com/docs/en/was-liberty/nd?topic=features-java-ee-web-profile-70

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"ARM Category":[{"code":"a8m50000000CdLbAAK","label":"IBM WebSphere Liberty-All Platforms-\u003ELiberty Profile-\u003EInstall Update and Migration-\u003ELiberty"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
07 February 2022

UID

ibm16553910