Liberty features
Features are the units of functionality by which you control the pieces of the runtime environment that are loaded into a particular server.
- WebSphere® Application Server Liberty Core: libertyCoreBundle
- WebSphere Application Server (base) Liberty: baseBundle
- WebSphere Application Server Network Deployment Liberty: ndMemberBundle for collective member servers and ndControllerBundle for collective controllers
- WebSphere Application Server for z/OS® Liberty: zosBundle
The following table lists the Liberty features that are supported for each WebSphere Application Server Liberty edition.
Liberty feature | WebSphere Application Server Liberty Core | WebSphere Application Server | WebSphere Application Server Network Deployment (Distributed operating systems and IBM® i) | WebSphere Application Server for z/OS |
---|---|---|---|---|
Feature bundle addon | libertyCoreBundle | baseBundle | ndMemberBundle: All except controller
features ndControllerBundle: Only features marked with 1 |
zosBundle |
Java EE 7 Web Profile | ||||
beanValidation-1.1 | ✓ | ✓ | ✓ | ✓ |
cdi-1.2 | ✓ | ✓ | ✓ | ✓ |
ejbLite-3.2 | ✓ | ✓ | ✓ | ✓ |
el-3.0 | ✓ | ✓ | ✓ | ✓ |
jaxrs-2.0 | ✓ | ✓ | ✓ | ✓ |
jaxrsClient-2.0 | ✓ | ✓ | ✓ | ✓ |
jdbc-4.1 | ✓ | ✓ | ✓ | ✓ |
jndi-1.0 | ✓ | ✓ | ✓ | ✓ |
jpa-2.1 | ✓ | ✓ | ✓ | ✓ |
jsf-2.2 | ✓ | ✓ | ✓ | ✓ |
jsonp-1.0 | ✓ | ✓ | ✓ | ✓ |
jsp-2.3 | ✓ | ✓ | ✓ | ✓ |
managedBeans-1.0 | ✓ | ✓ | ✓ | ✓ |
servlet-3.1 | ✓ | ✓ | ✓ | ✓ |
webProfile-7.0 | ✓ | ✓ | ✓ | ✓ |
websocket-1.0 | ✓ | ✓ | ✓ | ✓ |
websocket-1.1 | ✓ | ✓ | ✓ | ✓ |
Java™ EE 7 Full Platform | ||||
appClientSupport-1.0 | ✓ | ✓ | ✓ | |
appSecurityClient-1.0 | ✓ | ✓ | ✓ | |
batch-1.0 | ✓ | ✓ | ✓ | |
concurrent-1.0 | ✓ | ✓ | ✓ | ✓ |
ejb-3.2 | ✓ | ✓ | ✓ | |
ejbHome-3.2 | ✓ | ✓ | ✓ | |
ejbPersistentTimer-3.2 | ✓ | ✓ | ✓ | |
ejbRemote-3.2 | ✓ | ✓ | ✓ | |
j2eeManagement-1.1 | ✓ | ✓ | ✓ | |
jacc-1.5 | ✓ | ✓ | ✓ | ✓ |
jaspic-1.1 | ✓ | ✓ | ✓ | ✓ |
javaee-7.0 | ✓ | ✓ | ✓ | |
javaeeClient-7.0 | ✓ | ✓ | ✓ | |
javaMail-1.5 | ✓ | ✓ | ✓ | ✓ |
jaxb-2.2 | ✓ | ✓ | ✓ | |
jaxws-2.2 | ✓ | ✓ | ✓ | |
jca-1.7 | ✓ | ✓ | ✓ | |
jcaInboundSecurity-1.0 | ✓ | ✓ | ✓ | |
jms-2.0 | ✓ | ✓ | ✓ | |
jmsMdb-3.2 | ✓ | ✓ | ✓ | |
mdb-3.2 | ✓ | ✓ | ✓ | |
wasJmsClient-2.0 | ✓ | ✓ | ✓ | |
wasJmsSecurity-1.0 | ✓ | ✓ | ✓ | |
wasJmsServer-1.0 | ✓ | ✓ | ✓ | |
Extended Programming Models | ||||
cloudant-1.0 | ✓ | ✓ | ✓ | |
couchdb-1.0 | ✓ | ✓ | ✓ | |
json-1.0 | ✓ | ✓ | ✓ | ✓ |
mongodb-2.0 | ✓ | ✓ | ✓ | |
rtcomm-1.0 | ✓ | ✓ | ✓ | |
rtcommGateway-1.0 | ✓ | ✓ | ✓ | |
sipServlet-1.1 | ✓ | ✓ | ✓ | |
Enterprise OSGi | ||||
blueprint-1.0 | ✓ | ✓ | ✓ | ✓ |
httpWhiteboard-1.0 | ✓ | ✓ | ✓ | ✓ |
httpWhiteboard-1.0 | ✓ | ✓ | ✓ | ✓ |
osgiBundle-1.0 | ✓ | ✓ | ✓ | ✓ |
osgi.jpa-1.0 | ✓ | ✓ | ✓ | ✓ |
wab-1.0 | ✓ | ✓ | ✓ | ✓ |
MicroProfile | ||||
microProfile-1.0 | ![]() |
![]() |
![]() |
![]() |
microProfile-1.2 | ![]() |
![]() |
![]() |
![]() |
microProfile-1.3 | ![]() |
![]() |
![]() |
![]() |
mpConfig-1.1 | ![]() |
![]() |
![]() |
![]() |
mpConfig-1.2 | ![]() |
![]() |
![]() |
![]() |
mpFaultTolerance-1.0 | ![]() |
![]() |
![]() |
![]() |
mpHealth-1.0 | ![]() |
![]() |
![]() |
![]() |
mpJwt-1.0 | ![]() |
![]() |
![]() |
![]() |
mpMetrics-1.0 | ![]() |
![]() |
![]() |
![]() |
mpMetrics-1.1 | ![]() |
![]() |
![]() |
![]() |
mpRestClient-1.0 | ![]() |
![]() |
![]() |
![]() |
opentracing-1.0 | ![]() |
![]() |
![]() |
![]() |
Operations | ||||
apiDiscovery-1.0 | ✓ | ✓ | ✓ | ✓ |
batchManagement-1.0 | ✓ | ✓ | ✓ | |
bells-1.0 | ✓ | ✓ | ✓ | ✓ |
bluemixUtility-1.0 | ✓ | ✓ | ✓ | ✓ |
distributedMap-1.0 | ✓ | ✓ | ✓ | ✓ |
eventLogging-1.0 | ✓ | ✓ | ✓ | ✓ |
jpaContainer-2.1 | ![]() |
![]() |
![]() |
![]() |
jsfContainer-2.2 | ![]() |
![]() |
![]() |
![]() |
localConnector-1.0 | ✓ | ✓ | ✓ | ✓ |
logstashCollector-1.0 | ✓ | ✓ | ✓ | ✓ |
mediaServerControl-1.0 | ✓ | ✓ | ✓ | |
monitor-1.0 | ✓ | ✓ | ✓ | ✓ |
openapi-3.0 | ![]() |
![]() |
![]() |
![]() |
osgiConsole-1.0 | ✓ | ✓ | ✓ | ✓ |
productInsights-1.0 | ![]() |
![]() |
![]() |
![]() |
requestTiming-1.0 | ✓ | ✓ | ✓ | ✓ |
restConnector-1.0 | ✓ | ✓ | ✓ | ✓ |
restConnector-2.0 | ![]() |
![]() |
![]() |
![]() |
serverStatus-1.0 | ✓ | ✓ | ✓ | ✓ |
sessionDatabase-1.0 | ✓ | ✓ | ✓ | ✓ |
timedOperations-1.0 | ✓ | ✓ | ✓ | ✓ |
webCache-1.0 | ✓ | ✓ | ✓ | ✓ |
wmqJmsClient-2.0 | ✓ | ✓ | ✓ | |
wsAtomicTransaction-1.2 | ✓ | ✓ | ✓ | |
Security | ||||
appSecurity-1.0 | ✓ | ✓ | ✓ | ✓ |
appSecurity-2.0 | ✓ | ✓ | ✓ | ✓ |
constrainedDelegation-1.0 | ✓ | ✓ | ✓ | ✓ |
federatedRegistry-1.0 | ✓ | ✓ | ✓ | ✓ |
jwt-1.0 | ![]() |
![]() |
![]() |
![]() |
ldapRegistry-3.0 | ✓ | ✓ | ✓ | ✓ |
oauth-2.0 | ✓ | ✓ | ✓ | ✓ |
openid-2.0 | ✓ | ✓ | ✓ | ✓ |
openidConnectClient-1.0 | ✓ | ✓ | ✓ | ✓ |
openidConnectServer-1.0 | ✓ | ✓ | ✓ | ✓ |
passwordUtilities-1.0 | ✓ | ✓ | ✓ | |
samlWeb-2.0 | ✓ | ✓ | ✓ | ✓ |
scim-1.0 | ✓ | ✓ | ✓ | ✓ |
socialLogin-1.0 | ![]() |
![]() |
![]() |
![]() |
spnego-1.0 | ✓ | ✓ | ✓ | ✓ |
ssl-1.0 | ✓ | ✓ | ✓ | ✓ |
transportSecurity-1.0 | ![]() |
![]() |
![]() |
![]() |
wsSecurity-1.1 | ✓ | ✓ | ✓ | |
wsSecuritySaml-1.1 | ✓ | ✓ | ✓ | |
Systems Management | ||||
adminCenter-1.0 | ✓ | ✓ | ✓1 | ✓ |
clusterMember-1.0 | ✓ | ✓ | ||
collectiveController-1.0 | ✓1 | ✓ | ||
collectiveMember-1.0 | ✓ | ✓ | ✓ | ✓ |
dynamicRouting-1.0 | ✓1 | ✓ | ||
healthAnalyzer-1.0 | ✓ | ✓ | ||
healthManager-1.0 | ✓1 | ✓ | ||
scalingController-1.0 | ✓1 | ✓ | ||
scalingMember-1.0 | ✓ | ✓ | ||
z/OS | ||||
batchSMFLogging-1.0 | ![]() |
|||
zosConnect-1.0 | ✓ | |||
zosConnect-1.2 | ✓ | |||
zosLocalAdapters-1.0 | ✓ | |||
zosRequestLogging-1.0 | ✓ | |||
zosSecurity-1.0 | ✓ | |||
zosTransaction-1.0 | ✓ | |||
zosWlm-1.0 | ✓ | |||
Java EE 6 Web Profile | ||||
beanValidation-1.1 | ✓ | ✓ | ✓ | ✓ |
cdi-1.0 | ✓ | ✓ | ✓ | ✓ |
ejbLite-3.1 | ✓ | ✓ | ✓ | ✓ |
jdbc-4.0 | ✓ | ✓ | ✓ | ✓ |
jndi-1.0 | ✓ | ✓ | ✓ | ✓ |
jpa-2.0 | ✓ | ✓ | ✓ | ✓ |
jsf-2.0 | ✓ | ✓ | ✓ | ✓ |
jsp-2.2 | ✓ | ✓ | ✓ | ✓ |
servlet-3.0 | ✓ | ✓ | ✓ | ✓ |
webProfile-6.0 | ✓ | ✓ | ✓ | ✓ |
Java EE 6 Technologies | ||||
jaxb-2.2 | ✓ | ✓ | ✓ | |
jaxrs-1.1 | ✓ | ✓ | ✓ | ✓ |
jaxws-2.2 | ✓ | ✓ | ✓ | |
jca-1.6 | ✓ | ✓ | ✓ | |
jcaInboundSecurity-1.0 | ✓ | ✓ | ✓ | |
jms-1.1 | ✓ | ✓ | ✓ | |
jmsMdb-3.1 | ✓ | ✓ | ✓ | |
mdb-3.1 | ✓ | ✓ | ✓ | |
wasJmsClient-1.1 | ✓ | ✓ | ✓ | |
wasJmsSecurity-1.0 | ✓ | ✓ | ✓ | |
wasJmsServer-1.0 | ✓ | ✓ | ✓ | |
wmqJmsClient-1.1 | ✓ | ✓ | ✓ |
<server>
<featureManager>
<feature>servlet-3.0</feature>
<feature>localConnector-1.0</feature>
</featureManager>
</server>
Features that can be used in a server configuration have public visibility and are part of the Liberty product externals. Use of those features in the server configuration will be supported in future updates of the product. Liberty also provides a set of features with protected visibility. These features cannot be used directly in the server configuration but can be included in your own features, see Including protected features.
- Administrative Center
- <feature>adminCenter-1.0</feature>
The adminCenter-1.0 feature is a web-based graphical interface for managing Liberty servers and applications and other resources from a web browser on a cell phone, tablet, or computer.
See Administering Liberty using Admin Center and Admin Center feature restrictions.
- API Discovery
- <feature>apiDiscovery-1.0</feature>
The apiDiscovery-1.0 feature enables you to discover your REST API documentation. Use the feature to find REST APIs that are available on a Liberty server and then use the Swagger user interface to invoke the found REST endpoints. See Discovering REST API documentation on a Liberty server.
- Application Client Container Security
- <feature>appSecurityClient-1.0</feature>
To enable security on the client container, add the appSecurityClient-1.0 feature to your client.xml file.
The appSecurityClient-1.0 feature enables SSL, CSIv2, and JAAS on the client. You must configure SSL to ensure communications between the client and server are secure and encrypted.
For appSecurityClient-1.0 feature configuration information, see Application Security for Client 1.0.
See also Security on Liberty application client container and Configuring security for the Liberty application client container and its applications.
- Application Client Support
- <feature>appClientSupport-1.0</feature>
The appClientSupport-1.0 feature enables the server to process Java EE metadata inside the client module of an application, for example, read the deployment descriptor XML file and/or annotations and make them available to other modules in the application if necessary. It also enables the remote application client process to communicate with the server to do JNDI lookups.
The appClientSupport-1.0 feature is enabled in the server.xml file only.
- Batch
- <feature>batch-1.0</feature>
The batch-1.0 feature enables the use of the JSR-352 programming model.
- <feature>batchManagement-1.0</feature>
The batchManagement-1.0 feature provides a REST interface for remote job submission and the batchManager command-line client utility.
- Bean validation
- <feature>beanValidation-1.0</feature>
The beanvalidation-1.0 feature provides validations for JavaBeans at each layer of an application. The validation can be applied to all layers of JavaBeans in an application by using annotations or a validation.xml deployment descriptor.
- <feature>beanValidation-1.1</feature>The beanValidation-1.1 feature offers:
- The validation available with beanValidation-1.0
- Method and constructor validation for JavaBeans
- Automatic method and constructor validation in Contexts and Dependency Injection (CDI) beans
- The ability to create components from the deployment descriptor, validation.xml, as CDI managed beans. Develop components the same way as for any other component that uses CDI capabilities.
- <feature>beanValidation-2.0</feature>
The Bean Validation 2.0 specification provides an annotation based model for validating JavaBeans.
See also Bean validation feature restrictions.
- Basic Extensions using Liberty Libraries (BELL)
<feature>bells-1.0</feature>
This feature enables the configuration of Basic Extensions by using Liberty Libraries (BELL). Use this feature to extend some parts of the server runtime by using libraries, rather than using Liberty features. BELL uses the Java Service Loader pattern to provide the implementation class name.
For bells-1.0 feature configuration information, see Basic Extensions using Liberty Libraries.
- Bluemix® Utility
- <feature>bluemixUtility-1.0</feature>
This feature makes it easier to configure access to IBM Bluemix managed services. See Setting up a Liberty server to use IBM Cloud services.
For bluemixUtility-1.0 feature configuration information, see Bluemix Utilities-1.0.
- Blueprint
- <feature>blueprint-1.0</feature>
The blueprint-1.0 feature enables support for deploying OSGi applications that use the OSGi blueprint container specification.
- With the OSGi Applications support in WebSphere Application Server, you can develop and deploy modular applications that use Java EE and OSGi technologies.
- Cache Service
- <feature>distributedMap-1.0</feature>
This feature provides a local cache service that can be accessed by using the DistributedMap API. A default cache is bound in JNDI at services/cache/distributedmap. You can distribute a cache by adding a network cache provider such as WebSphere eXtreme Scale.
- CDI
- <feature>cdi-1.0</feature>
The cdi-1.0 feature enables support for the Contexts and Dependency Injection 1.0 specification on Liberty.
- <feature>cdi-1.2</feature>
The cdi-1.2 feature enables support for the Contexts and Dependency Injection 1.2 specification on Liberty.
For information about CDI, see Administering Contexts and Dependency Injection applications on Liberty.
- Cloudant® integration
- <feature>cloudant-1.0</feature>
This feature enables connections to Cloudant by providing a connector instance that is configured in the server configuration. The connector instance can be injected or accessed through JNDI. Applications use the Cloudant client library to use the connector instance. See Configuring CouchDB connectivity by using the Cloudant Java client library in Liberty.
For cloudant-1.0 feature configuration information, see Cloudant Integration 1.0.
- Collective member
- <feature>collectiveMember-1.0</feature>
The collectiveMember-1.0 feature enables a server to be a member of a management collective, allowing it to be managed by the collective controller.
- CouchDB
- <feature>couchdb-1.0</feature>
The couchdb-1.0feature provides support for CouchDB instances and associated database connections. Access to CouchDB connections is available either by JNDI lookup or resource injection.
See Configuring CouchDB connectivity by using the ektorp client library in Liberty
- Dynamic caching service
- <feature>webCache-1.0</feature>
- This feature enables local caching for web responses. It includes the Cache Service (distributedMap) feature and automatic caching of web application responses to improve response times and throughput. To customize the response caching, you can include a cache-spec.xml file in your applications. You can distribute the cache by adding a network cache provider such as WebSphere eXtreme Scale.
- Enterprise JavaBeans (EJB)
- <feature>ejbLite-3.1</feature>
The ejbLite-3.1 feature provides support for EJB applications that are written to the EJB Lite subset of the EJB 3.1 specification.
- <feature>ejbLite-3.2</feature>
- The ejbLite-3.2 feature provides support for EJB applications that are written to the EJB Lite subset of the EJB 3.2 specification.
- The EJB 3.2 Lite API Group does not include the embeddable EJB container, and the product does not provide an EJB 3.2 embeddable container.
- Also, the following features are not compatible with the ejbLite-3.2 feature:
- cdi-1.0
- jmsMdb-3.1
- mdb-3.1
- <feature>ejb-3.2</feature>
- The ejb-3.2 feature provides support for EJB applications that are written to the EJB 3.2 specification.
- This feature includes the following features:
- ejbLite-3.2
- ejbHome-3.2
This feature gives support for the EJB 2.x APIs.
- ejbPersistentTimer-3.2
This feature gives support for persistent EJB timers.
- ejbRemote-3.2
This feature gives support for remote EJB interfaces.
- mdb-3.2
This feature gives support for message-driven beans.
If full EJB 3.2 support is not required, various combinations of these features can be used to provide the support that you need.
- See also Enterprise JavaBeans (EJB) feature restrictions.
- Expression Language 3.0
- <feature>el-3.0</feature>
This feature enables support for the Expression Language (EL) 3.0.
- Event logging
- <feature>eventLogging-1.0</feature>
- The eventLogging-1.0 feature logs a record of events, such as the JDBC requests and servlet requests, and their durations. See Event Logging.
- Health Analyzer
- <feature>healthAnalyzer-1.0</feature>
The Health Analyzer feature provides health data collection for the health manager for the Intelligent Management feature Health Management. The health analyzer feature provides monitoring services to a member server. It registers as an analytics handler, collects the necessary stats (PMI, HealthCenter) via the analytics collector and analyses the conditions.
- Health Manager
- <feature>healthManager-1.0</feature>
The Health Manager feature provides health monitoring and automatic actions based on health policies for the Intelligent Management feature Health Management. Health Manger feature embodies the core functions of health management. Selecting this feature enables the default condition plugins. This feature requires the presence of the collectiveController feature.
- J2EE Management 1.1
- <feature>j2eeManagement-1.1</feature>
The j2eeManagement-1.1 feature provides standard interfaces to manageable aspects of Java EE 7 and enables applications to use the interfaces that are defined in the JSR 77 specification.
To invoke Management EJB APIs, the server configuration must have both the j2eeManagement-1.1 and ejbRemote-3.2 features in a feature manager. After both features are in the server configuration, you can invoke Management EJB API through JNDI name lookup. The Management EJB binding name (JNDI lookup name) is ejb/mejb/MEJB.
See also j2eeManagement-1.1 feature restriction.
- Java API for RESTful Web Services (JAX-RS)
- <feature>jaxrs-1.1</feature>The jaxrs-1.1 feature provides support for the Java API for RESTful Web Services on Liberty.
- For EJB applications that use the jaxrs-1.1 server feature, you must enable the ejbLite-3.1 feature in the server.xml file.
- For JAX-RS applications that use CDI, you must enable the cdi-1.0 feature in the server.xml file.
- Java API for XML-Based Web Services (JAX-WS)
- <feature>jaxws-2.2</feature>
- The jaxws-2.2 feature provides support for the Java API for XML-Based Web Services on Liberty.
- For web applications that support the JAX-WS programming model, you must enable the servlet-3.0 and jaxws-2.2 server features in the server.xml file.
- For EJB applications that support the JAX-WS programming model, you must enable the ejbLite-3.1, servlet-3.0, and jaxws-2.2 server features in the server.xml file.
- See also jaxws-2.2 feature restrictions.
- Java Architecture for XML Binding (JAXB)
- <feature>jaxb-2.2</feature>
- The jaxb-2.2 feature provides support for the Java Architecture for XML Binding (JAXB) on Liberty.
- See also JAXB.
- See also jaxb-2.2 feature restrictions.
- Java Authentication SPI for Containers 1.1
- <feature>jaspic-1.1</feature>
- The jaspic-1.1 feature enables support for securing the server runtime environment and applications by using Java Authentication SPI for Containers (JASPIC) providers as defined in JSR-196.
- See also Configuring a Java Authentication SPI for Containers (JASPIC) User Feature.
- Java Authorization Contract for Containers 1.5
- <feature>jacc-1.5</feature>
- The jacc-1.5 feature enables support for Java Authorization Contract for Containers (JACC) version 1.5 In order to add the jacc-1.5 feature to your server, you need to add the third party JACC provider, which is not a part of the WebSphere Application Server Liberty.
- See also Developing a Java Authorization Contract for Containers (JACC) Authorization Provider.
- Java EE
- <feature>javaee-7.0</feature>
This feature provides a convenient combination of the Liberty features that are required to support the Java EE 7.0 Full Platform.
- Java EE Application Client
- <feature>javaeeClient-7.0</feature>
This feature enables support for Java EE Application Client 7.0. See Creating a Liberty application client manually.
- Java EE Connector Architecture
- <feature>jca-1.6</feature>
The jca-1.6 feature provides configuration elements to define instances of connection factories, administered objects, and activation specifications, and to associate these instances with an installed resource adapter.
For jca-1.6 feature configuration information, see Java Connector Architecture 1.6.
- <feature>jca-1.7</feature>
The jca-1.7 feature provides configuration elements to define instances of connection factories, administered objects, and activation specifications, and to associate these instances with an installed resource adapter.
- Java Database Connectivity (JDBC)
- <feature>jdbc-4.0</feature>
The jdbc-4.0 feature provides support for applications that access a database. You can take an existing application that uses Java Database Connectivity (JDBC) and a data source, and deploy the application to a server.
- <feature>jdbc-4.1</feature> The jdbc-4.1 feature provides support for applications that access a database.You can take an existing application that uses Java Database Connectivity (JDBC) and a data source, and deploy the application to a server.
<feature>jdbc-4.2</feature>The jdbc-4.2 feature provides support for applications that access a database. You can take an existing application that uses Java Database Connectivity (JDBC) and a data source, and deploy the application to a server.
- See also Deploying an existing JDBC application to Liberty.
- Java Naming and Directory Interface (JNDI)
- <feature>jndi-1.0</feature>
- The jndi-1.0 feature provides support for a single JNDI entry definition in the server configuration of Liberty.
- Java Persistence API (JPA)
- <feature>jpa-2.0</feature>
The jpa-2.0 feature provides support for applications that use application-managed and container-managed JPA written to the JPA 2.0 specification. The support is built on Apache OpenJPA with extensions to support the container-managed programming model.
<feature>jpa-2.1</feature>
The jpa-2.1 feature provides support for applications that use application-managed and container-managed JPA written to the JPA 2.1 specification. The support is built on top of EclipseLink to support the container-managed programming model.
- Java Persistence API Container
<feature>jpaContainer-2.1</feature>
The jpaContainer-2.1 feature enables support for applications that use application-managed and container-managed JPA written to the Java Persistence API 2.1 specification. This only includes Java Persistence API 2.1 specification interfaces, and container-managed JPA integration. This feature does not include any JPA implementation.
- JavaMail API
- <feature>javaMail-1.5</feature>
- The JavaMail API supports communication between external mail servers and Liberty applications. See Administering JavaMail on Liberty.
- JavaScript Object Notation (JSON-P) Processing
- <feature>jsonp-1.0</feature>
The Java API for JSON Processing (JSON-P) feature provides a standardized method for constructing and manipulating data to be rendered in JavaScript Object Notation (JSON).
- JavaScript Object Notation (JSON4J) Library
- <feature>json-1.0</feature>
The json-1.0 feature provides access to the JSON4J library that provides a set of JSON handling classes for Java environments. The JSON4J library provides a simple Java model for constructing and manipulating data to be rendered as JSON data.
See also Using JSON content in JAX-RS application requests and responses and JSON4J Libraries API.
- JSON Web Token
<feature>jwt-1.0</feature>
With the jwt-1.0 feature, you can configure a Liberty server to build and consume JSON Web Token (JWT) tokens, which you can use to propagate user identity or tokens. For more information, see Configuring JSON Web Token in Liberty.
- JavaServer Faces (JSF)
- <feature>jsf-2.0</feature>
The jsf-2.0 feature provides support for web applications that use the JSF framework. This framework simplifies the construction of user interfaces.
If you include the jsf-2.0 feature, you also include the jsp-2.2 feature, because the JSF framework is an extension of the JSP framework.
- <feature>jsf-2.2</feature>
The jsf-2.2 feature enables support for web applications that use the JavaServer Faces (JSF) 2.2 framework. This framework simplifies the construction of user interfaces.
- JavaServer Faces Container
<feature>jsfContainer-2.2</feature>
The jsfContainer-2.2 feature enables CDI integrations for web applications that use the JavaServer Faces (JSF) 2.2 framework. This feature only includes container integration code for JSF, and does not include any JSF interfaces or implementation. To use this feature, package JSF interfaces and implementation within web applications that use JSF.
See Configuring third-party JavaServer Faces 2.2 implementations.
- JavaServer Pages (JSP)
- <feature>jsp-2.2</feature>
The jsp-2.2 feature provides support for JSPs that are written to the JSP 2.2 specification. If you include the jsp-2.2 feature, you also include the servlet-3.0 feature.
See also jsp-2.2 feature restrictions.
- <feature>jsp-2.3</feature>
This feature enables support for Java Server Pages (JSPs) that are written to the JSP 2.3 specification. This framework simplifies the construction of user interfaces. Enabling this feature also enables the Expression Language (EL) version 3.0 feature.
- Kerberos Constrained Delegation for SPNEGO
- <feature>constrainedDelegation-1.0</feature>
This feature enables support for Kerberos constrained delegation for SPNEGO. See Configuring Kerberos constrained delegation for out-bound SPNEGO tokens in Liberty.
For constrainedDelegation-1.0 feature configuration information, see Kerberos Constrained Delegation for SPNEGO.
- ldapRegistry-3.0
- <feature>ldapRegistry-3.0</feature>
- The ldapRegistry-3.0 feature provides support for LDAP user registry. The version 3.0 of the ldapRegistry-3.0 feature is compliant with the LDAP Version 3 specifications. The ldapRegistry-3.0 feature is not automatically enabled by the appSecurity-2.0 feature. Using this feature, you can federate multiple LDAP repositories. Two or more LDAP repositories can be configured in the server.xml file, and you can get the consolidated results from multiple repositories for all LDAP operations.
- Local JMX Connector
- <feature>localConnector-1.0</feature>
The localConnector-1.0 feature provides a local JMX connector that is built into the JVM. The JMX connector can be used only on the same host machine by someone running under the same user ID and the same JDK. It enables local access by JMX clients such as jConsole, or other JMX clients that use the Attach API.
- Managed Beans
- <feature>managedBeans-1.0</feature>
The managedBeans-1.0 feature provides support for the Managed Beans 1.0 specification (JSR-316). This feature enables use of the javax.annotation.ManagedBean annotation.
- Managed Executors and Thread Factories
- <feature>concurrent-1.0</feature>
The concurrent-1.0 feature enables the creation of managed executor services that allow applications to submit tasks to run concurrently, with thread context that is managed by the application server. The feature also enables the creation of managed thread factories to create threads that run with the thread context of the component that looks up the managed thread factory.
- Message-Driven beans
- <feature>jmsMdb-3.1</feature>
The jmsMdb-3.1 feature provides support for deploying and configuring the JMS resources that are required for the message-driven beans (MDB) to run within Liberty. This feature enables MDB to interact with either the embedded Liberty messaging or IBM MQ.
- Messaging
- Embedded Liberty Messaging features:
- <feature>wasJmsServer-1.0</feature>
The wasJmsServer-1.0 feature enables the JMS messaging engine run time to be initialized. The messaging run time is responsible for providing the application connectivity, managing the state of destinations such as topics or queues, and handling quality of service, security, and transactions. This feature also provides support for the inbound connections from the remote messaging applications. The remote messaging applications can connect to the JMS messaging engine through TCP/IP over SSL or non-SSL.
- <feature>wasJmsClient-1.1</feature>
The wasJmsClient-2.0 feature enables support for JMS resource configurations (such as the connection factories, activation specifications, and queue and topic resources) and also provides the client libraries that are required by the messaging applications to connect to the JMS server on Liberty.
- <feature>wasJmsClient-2.0</feature>
The wasJmsClient-2.0 feature supersedes the wasJmsClient-1.1 feature. The wasJmsClient-2.0 feature is compliant with the JMS 2.0 specification and is supported only on IBM JDK 7 or later.
- To connect by using SSL, you must enable the SSL feature.
- <feature>wasJmsSecurity-1.0</feature>
The wasJmsSecurity-1.0 feature supports secure connections to the messaging engine. When the wasJmsSecurity-1.0 feature is enabled, it starts authenticating and authorizing the users who are trying to connect to the messaging engine. The user is authenticated against the registry that is defined in the server.xml file. When the user wants to access a destination such as a topic or a queue, then the user must be granted the required permissions. The access to the destination is defined in the <messagingSecurity> element (the child element of the messagingEngine element) in the server.xml file. If the wasJmsSecurity-1.0 feature is added and the <messagingSecurity> element is not defined in the server.xml file, then the users cannot connect to the messaging engine or perform any messaging action (for example, sending or receiving messages from the destinations).
Notes:- Configuring the user registry is a prerequisite for the wasJmsSecurity-1.0 feature. Ensure that a user registry is configured before the wasJmsSecurity-1.0 feature is enabled.
- When you enable the wasJmsSecurity-1.0 feature, you must also configure the <messagingSecurity> element, which is the child element of the <messagingEngine> element, in the server.xml file. This configuration enables authorized users to access messaging destinations.
- See Enabling secure JMS messaging for Liberty.
- MicroProfile
<feature>microProfile-1.0</feature>
The microProfile-1.0 feature combines the Liberty features that support MicroProfile 1.0 for enterprise Java.
<feature>microProfile-1.2</feature>
The microProfile-1.2 feature combines the Liberty features that support MicroProfile 1.2 for enterprise Java.
<feature>microProfile-1.3</feature>
The microProfile-1.3 feature combines the Liberty features that support MicroProfile 1.3 for enterprise Java.
For more information, see MicroProfile programming model support.
- MicroProfile configuration
<feature>mpConfig-1.1</feature>
The mpConfig-1.1 feature enables application configuration properties from multiple sources to be amalgamated into a single set of configuration properties and accessed by using a single client API.
<feature>mpConfig-1.2</feature>
The mpConfig-1.2 feature builds on mpConfig-1.1 with converters that include class, list, set and automatic conversion for classes that have a suitable string constructor or static valueOf method. Support for cdi-2.0 is also available.
For more information, see Enabling the MicroProfile Config API.
- MicroProfile fault tolerance
<feature>mpFaultTolerance-1.0</feature>
The mpFaultTolerance-1.0 feature improves service invocation resilience. It uses the Failsafe 1.0.1 open source library. The feature provides an environment to support resilient microservices through patterns that include retries, circuit breakers, bulkheads, timeouts, and fallbacks.
For more information, see Improving microservice resilience in Liberty.
- MicroProfile health check
<feature>mpHealth-1.0</feature>
Configure the mpHealth-1.0 feature and implement the HealthCheck API to provide health checks in your microservice.
For more information, see Performing MicroProfile health checks.
- MicroProfile JSON Web Token
<feature>mpJwt-1.0</feature>
You can configure a Liberty server to accept a MicroProfile JSON Web Token as an authentication token.
For more information, see Configuring the MicroProfile JSON Web Token.
- MicroProfile OpenAPI
<feature>mpOpenAPI-1.0</feature>
You can generate and view REST API documentation with the mpOpenAPI-1.0 feature, which supports the MicroProfile OpenAPI for enterprise Java.
For more information, see Generate REST API documentation.
- MicroProfile metrics
<feature>mpMetrics-1.0</feature>
Measure and monitor information in a Liberty application with the mpMetrics-1.0 feature. The feature supports the MicroProfile metrics API, which was derived from the Dropwizard metrics API. Metrics are displayed by a REST API that can connect to other monitoring tools or stacks.
<feature>mpMetrics-1.1</feature>
The mpMetrics-1.1 feature supports the MicroProfile metrics 1.1 specification.
For more information, see Adding metrics to applications and Monitoring with MicroProfile metrics.
- MicroProfile open tracing
<feature>opentracing-1.0</feature>
Enable automatic distributed tracing in JAX-RS applications with the opentracing-1.0 feature.
For more information, see Enabling distributed tracing. To get the feature, see Installing assets using the installUtility command.
- MicroProfile Rest Client
<feature>mpRestClient-1.0</feature>
Invoke the MicroProfile Rest Client with the mpRestClient-1.0 feature.
For more information, see Configuring the MicroProfile Rest Client.
- MongoDB
- <feature>mongodb-2.0</feature>
The mongodb-2.0 feature provides support for MongoDB instances and associated database connections. Access to MongoDB connections is available either by JNDI lookup or resource injection. The native com.mongodb API performs the database manipulation.
- Monitoring
- <feature>monitor-1.0</feature>
The monitor-1.0 feature provides Performance Monitoring Infrastructure (PMI) support on Liberty.
- See Monitoring the Liberty server runtime environment.
- OAuth
- <feature>oauth-2.0</feature>
The oauth-2.0 feature provides support for securing access to resources using the OAuth 2.0 protocol.
- OpenAPI
<feature>openapi-3.0</feature>
The openapi-3.0 feature generates REST API documentation. The feature supports the OpenAPI V3 specification. See Generating REST API documentation with OpenAPI.
- OpenID
- <feature>openid-2.0</feature>
This feature enables users to authenticate themselves to multiple entities without the need to manage multiple accounts or sets of credentials. Liberty supports OpenID 2.0 and plays a role as a Relying Party in web single-sign-on. Accessing various entities such as websites often requires a unique account that is associated with each entity. OpenID enables a single set of credentials that are handled by an OpenID Provider to grant access to any number of entities that support OpenID.
- OpenID Connect Client
- <feature>openidConnectClient-1.0</feature>
This feature enables web applications to integrate OpenID Connect Client 1.0 for authenticating users instead of, or in addition to, the configured user registry.
- OpenID Connect Provider
- <feature>openidConnectServer-1.0</feature>
This feature enables web applications to integrate OpenID Connect Server 1.0 for authenticating users instead of, or in addition to, the configured user registry.
- OSGi application integration
- <feature>osgiAppIntegration-1.0</feature>
Use the osgiAppIntegration-1.0 feature to enable the OSGi applications that are available within the same Java virtual machine to share their services with each other.
- For more information about Application-ImportService and Application-ExportService headers, see Application manifest files.
- OSGi bundle
- <feature>osgiBundle-1.0</feature>
The osgiBundle-1.0 feature enables support for deploying OSGi applications. With the OSGi Applications support, you can develop and deploy modular applications that use Java EE and OSGi technologies.
- OSGi Console
- <feature>osgiConsole-1.0</feature>
- This feature enables an OSGi console to aid the debugging of the runtime environment. It can be used to display information about bundles, packages, and services. This information can be useful when you develop your own features for product extensions.
- OSGi JPA
- <feature>osgi.jpa-1.0</feature>
- The osgi.jpa-1.0 feature provides JPA support for OSGi applications on Liberty.
- Password Utilities
- <feature>passwordUtilities-1.0</feature>
This feature enables support for obtaining AuthData from an application by using security plug-points.
For passwordUtilities-1.0 feature configuration information, see Password Utilities-1.0.
- Product Insights
<feature>productInsights-1.0</feature>
The productInsights-1.0 feature registers your Liberty server with the IBM Cloud Product Insights service on IBM Cloud to report usage metrics. To learn more about the service, see IBM Cloud Product Insights on IBM developerWorks®.
For information about how to register your Liberty servers with the Product Insights service, see Registering Liberty servers with the Product Insights service on IBM Cloud.
- Real-Time Communications
- <feature>rtcomm-1.0</feature>
The Liberty Real-Time Communications feature enables a highly-scalable call signaling engine that can be used to connect WebRTC clients into real-time audio/video/data calls. The feature supports both registration of clients as well as the exchange of signaling needed to create a WebRTC peer connection between two endpoints.
- REST connector 1.0
- <feature>restConnector-1.0</feature>
The restConnector-1.0 feature provides a secure JMX connector that can be used locally or remotely using any JDK. It enables remote access by JMX clients through a REST-based connector and requires SSL and basic user security configuration.
See Connecting to Liberty by using JMX and for details on REST connectors, Configuring secure JMX connection to Liberty.
For restConnector-1.0 feature configuration information, see JMX REST Connector-1.0.
- REST connector 2.0
- <feature>restConnector-2.0</feature>
The restConnector-2.0 feature provides a secure JMX connector that can be used locally or remotely by using any JDK. It enables remote access by JMX clients via a REST-based connector and requires SSL and basic user security configuration. This feature supersedes the restConnector-1.0 feature and does not include the jaxrs-1.1 feature.
See Connecting to Liberty by using JMX and, for details on REST connectors, see Configuring secure JMX connection to Liberty.
For restConnector-2.0 feature configuration information, see JMX REST Connector 2.0.
- Request timing
- <feature>requestTiming-1.0</feature>
- The requestTiming-1.0 provides warnings and diagnostic information for the slow or hung requests. See Slow and hung request detection.
- RTComm Gateway
- <feature>rtcommGateway-1.0</feature>
- The rtcommGateway-1.0 feature adds the capability for connecting Session Initiation Protocol (SIP) with RTComm WebRTC endpoints for the exchange of audio and video streams.
- SAML Web Browser SSO
- <feature>samlWeb-2.0</feature>
- The samlWeb-2.0 feature enables web applications to delegate user authentication to a SAML identity provider instead of a configured user registry.
- Scaling controller
- <feature>scalingController-1.0</feature>
The Scaling Controller-1.0 feature makes scaling decisions for Liberty. Multiple servers can run the Scaling Controller feature for high availability purposes. Only one server is actively making scaling decisions at any time. If that server is stopped, another server that is running the Scaling Controller feature can take over making scaling decisions.
- Scaling member
- <feature>scalingMember-1.0</feature>
The Scaling Member-1.0 feature can be added to the featureManagement element of the server.xml of servers that are collective members. This enables auto clustering of the collective members and allows the servers to dynamically start or stop based on criteria that are specified by the scaling policy. This feature works with the scaling controller feature. The scaling controller feature must be enabled in the collective controllers that are part of the collective.
- Secure Sockets Layer (SSL)
- <feature>ssl-1.0</feature>
The ssl-1.0 feature provides support for Secure Sockets Layer (SSL) connections. To use the secure HTTPS listener, you must enable this feature. Liberty provides a dummy keystore and a dummy truststore, which are the same as those provided by previous versions of WebSphere Application Server. The secure HTTPS listener is not started unless the ssl-1.0 feature is enabled. If the feature is unavailable, the HTTPS listener is stopped.
To specify the SSL certificates, add a pointer in the server.xml file; see Securing communications with Liberty.
To change the HTTPS port, set the <httpsPort> attribute of the <httpEndpoint> element in the server.xml file; see Specifying Liberty bootstrap properties.
- Security
- <feature>appSecurity-2.0</feature>
- This version of the appSecurity feature provides only certain aspects of security, based explicitly on the presence of other features. Additionally, it does not automatically include the servlet-3.0 or ldapRegistry-3.0 features, thereby reducing the server footprint. To secure web applications, you must include the servlet-3.0 feature. To enable EJB security, you must include the ejbLite-3.1 feature. To support an LDAP user registry, you must include the ldapRegistry-3.0 feature.Note:
- The appSecurity-2.0 feature supersedes appSecurity-1.0. The
features are the same except that appSecurity-2.0 does not automatically include
servlet-3.0 or ldapRegistry-3.0. You can choose to use the
appSecurity-2.0 version instead in your server configuration. See Superseded Liberty features.
- To enable web security, you must specify the servlet-3.0 feature in the server.xml file.
- To enable support for LDAP, you must specify the ldapRegistry-3.0 feature in the server.xml file.
- The appSecurity-2.0 feature supersedes appSecurity-1.0. The
features are the same except that appSecurity-2.0 does not automatically include
servlet-3.0 or ldapRegistry-3.0. You can choose to use the
appSecurity-2.0 version instead in your server configuration. See Superseded Liberty features.
- The appSecurity-1.0 and appSecurity-2.0 features provide support for securing the server runtime environment and applications. The following aspects are supported:
- Basic user registry
- Lightweight Directory Access Protocol (LDAP) user registry
- Basic authorization
- Web application security
- Basic authentication login
- Form-login Form-logout
- Programmatic APIs: getRemoteUser, getUserPrincipal, isUserInRole, authenticate, logout, and login.
- EJB application security
- All security annotations and all security elements that can be specified in the ejb-jar.xml file.
- Programmatic APIs: getCallerPrincipal, isCallerInRole, and getCallerIdentity. The getCallerIdentity API is not supported for Singleton session beans.
- EJB extension settings in the ibm-ejb-jar-ext.xml file for run-as-mode of CALLER_IDENTITY and SPECIFIED_IDENTITY (SYSTEM_IDENTITY is not supported).
- See also Securing Liberty and its applications and appSecurity-2.0 feature restrictions.
- Server status
- <feature>serverStatus-1.0</feature>
- The serverStatus-1.0 feature enables Liberty servers to automatically publish their status to WebSphere Application Server deployment managers and job managers that are aware of the server as a resource in their Job configuration. The known states are Started and Stopped.
- Servlet
- <feature>servlet-3.0</feature>
The servlet-3.0 feature provides support for HTTP Servlets written to the Java Servlet 3.0 specification.
- <feature>servlet-3.1</feature>
This feature enables support for HTTP Servlets written to the Java Servlet 3.1 specification.
<feature>servlet-4.0</feature>
This feature enables support for HTTP Servlets written to the Java Servlet 4.0 specification. To get the feature, see Installing assets using the installUtility command.
- See also Securing Liberty and its applications.
- SIP Servlet
- <feature>sipServlet-1.1</feature>
The sipServlet-1.1 feature provides support for SIP Servlet Specification 1.1, also known as JSR 289. Session Initiation Protocol (SIP) is a control protocol for many interactive services, including audio, video, and peer-to-peer communication.
See Session Initiation Protocol (SIP) and Administering Session Initiation Protocol (SIP) on Liberty.
For sipServlet-1.1 feature configuration information, see sipServlet-1.1.
- Session Persistence
- <feature>sessionDatabase-1.0</feature>
- The sessionDatabase-1.0 feature provides session affinity and failover support on Liberty.
- See Configuring session persistence for Liberty.
- Social login
<feature>socialLogin-1.0</feature>
This feature enables users to authenticate to websites that are hosted on a Liberty server by logging in with their social media accounts.
For more information on configuring social login on a Liberty server, see Configuring social login in Liberty.
- SPNEGO
- <feature>spnego-1.0</feature>
This feature enables users to log in to the Microsoft Domain controller once and access protected applications on Liberty servers without getting prompted again.
For more information on configuring SPNEGO on Liberty server, see Configuring SPNEGO authentication in Liberty.
- Timed operations
- <feature>timedOperations-1.0</feature>
This feature enables support for warnings to be logged when certain operations in the application server are running more slowly than expected.
- Transport Security
<feature>transportSecurity-1.0</feature>
The transportSecurity-1.0 feature provides support for Secure Sockets Layer (SSL) connections and is an alias for the ssl-1.0 feature. The transportSecurity-1.0 feature does not imply a specific SSL or TLS protocol; such information comes from the standard JVM configuration.
For more information on configuring SSL, see Secure Sockets Layer (SSL).
- Web application bundle (WAB)
- <feature>wab-1.0</feature>
The wab-1.0 feature provides support for WABs that are inside enterprise bundles.
This feature supports the following resources packaged inside a WAB:- Static web content and JSPs.
- HTTP servlets written to the Servlet 3.0 specification.
- Blueprint applications.
- If you include the wab-1.0 feature, you also include the servlet-3.0 and blueprint-1.0 features.
- Web Profile
- <feature>webProfile-6.0</feature>
This feature provides a convenient combination of the Liberty features that are required to support the Java EE 6 Web Profile.
- <feature>webProfile-7.0</feature>
This feature provides a convenient combination of the Liberty features that are required to support the Java EE 7 Web Profile.
- WebSocket
- <feature>websocket-1.0</feature>
- <feature>websocket-1.1</feature>
WebSocket is a standard protocol that enables a web browser or client application and a web server application to communicate by using one full duplex connection.
For more information, see WebSocket.
- Web Services Atomic Transaction
- <feature>wsAtomicTransaction-1.2</feature>
The wsAtomicTransaction is an interoperable transaction protocol. It enables you to flow distributed transactions by using Web service messages, and coordinate in an interoperable manner between heterogeneous transaction infrastructures.
For wsAtomicTransaction-1.2 configuration information in Liberty, see Web Services Atomic Transaction in Liberty.
- Web services security
- <feature>wsSecurity-1.1</feature>
- The wsSecurity-1.1 feature provides support for securing web services at the message level. To secure web services messages, you must enable this feature and the appSecurity-2.0 and jaxws-2.2 features. Web services security policies defined in a WSDL file are ignored and are not enforced unless the wsSecurity-1.1 feature is enabled.
- WebSphere MQ Messaging feature:
- <feature>wmqJmsClient-1.1</feature>
- The wmqJmsClient-1.1 feature enables applications to use JMS messaging that connects to a IBM MQ server.
- <feature>wmqJmsClient-2.0</feature>
- Use the wmqJmsClient-2.0 feature to permit JMS 2.0 to interact with IBM MQ. Although the feature uses the IBM MQ v8 resource adapter (RA), it is not restricted only to IBM MQ version 8 QueueManagers.