Liberty features
Overview
Features are the units of functionality by which we control the pieces of the runtime environment that are loaded into a particular server.
More information about many of the latest features for Liberty is available on the Open Liberty website. The Open Liberty feature documentation also includes helpful configuration examples on the feature pages for many commonly used features.
MQ JMS Client features using the versionless features of wmqJmsClient or wmqMessagingClient with any of the Java EE or Jakarta EE platform names.
Feature reference
Including a feature in the configuration might cause one or more extra features to be loaded automatically. For example, if include the wab-1.0 feature, the servlet-3.0 and blueprint-1.0 features are loaded automatically. Each feature includes a brief description, and an example of how the feature is declared within the <featureManager> element inside the server.xml file. For example:<server> <featureManager> <feature>servlet-3.0</feature> <feature>localConnector-1.0</feature> </featureManager> </server>
Features 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 our own features.
- Administrative Center
- <feature>adminCenter-1.0</feature>
Web-based graphical interface for managing Liberty servers and applications and other resources from a web browser on a cell phone, tablet, or computer.
- REST API Discovery
- <feature>apiDiscovery-1.0</feature>
Discover our REST API documentation. Use the feature to find REST APIs available on a Liberty server and then use the Swagger user interface to invoke the found REST endpoints.
Instead of apiDiscovery-1.0, consider using the openapi-3.0 feature, which supports the OpenAPI specification, or the mpOpenAPI-1.0 feature, which supports the MicroProfile OpenAPI specification.
- Application Client Container Security
- <feature>appSecurityClient-1.0</feature>
To enable security on the client container, add the appSecurityClient-1.0 feature to our client.xml file. The appSecurityClient-1.0 feature enables SSL, CSIv2, and JAAS on the client. Configure SSL to ensure communications between the client and server are secure and encrypted. See also:
- Security on Liberty application client container
- Configure security for the Liberty application client container and its applications
- Application Client Support
- <feature>appClientSupport-1.0</feature>
<feature>appClientSupport-2.0</feature>Enable 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.
- Audit
- <feature>audit-1.0</feature>
Enable support to report and track auditable events to ensure the integrity of the system. The Audit 2.0 feature (audit-2.0) provides the same audit records as the Audit 1.0 feature (audit-1.0) except it does not generate records for REST Handler applications. To keep audit records for REST Handler applications, use audit-1.0.
- Automatic Certificate Management Environment (ACME) Support
- <feature>acmeCa-2.0</feature>
Automate interactions with a certificate authority (CA) using the Automated Certificate Management Environment (ACME) protocol.
- Batch
- <feature>batch-1.0</feature>
Enable the use of the JSR-352 programming model.
batch-2.0 enables support for Jakarta Batch 2.0. batch-2.1 enables support for Jakarta Batch 2.1.
- <feature>batchManagement-2.1</feature>
- <feature>batchManagement-2.1</feature>
- Bean validation
- <feature>beanValidation-1.0</feature>
Provide validations for JavaBeans at each layer of an application. The validation can be applied to all layers of JavaBeans in an application using annotations or a validation.xml deployment descriptor.
Stabilized feature: The beanValidation-1.0 feature is stabilized. We can continue to use the beanValidation-1.0 feature in Liberty. However, consider using a later bean validation feature.
- <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
- Create components from the deployment descriptor, validation.xml, as CDI managed beans.
- <feature>beanValidation-2.0</feature>
Provide an annotation based model for validating JavaBeans.
- <feature>beanValidation-3.0</feature>
Provide an annotation-based model for validating JavaBeans.
- <feature>beanValidation-1.1</feature>
- Basic Extensions using Liberty Libraries (BELL)
-
<feature>bells-1.0</feature>
Extend some parts of the server runtime using libraries, rather than using Liberty features. BELL uses the Java Service Loader pattern to provide the implementation class name.
- Batch SMF Logging
- <feature>batchSMFLogging-1.0</feature>
Collect information about Java batch jobs and records the information to the z/OS SMF data store.
- Bluemix Utility
- <feature>bluemixUtility-1.0</feature>
Configure access to IBM Cloud services, formerly IBM Bluemix managed services.
IBM Bluemix is now IBM Cloud, and references to these names both refer to the same cloud platform at https://cloud.ibm.com, formerly https://console.bluemix.net.
Discontinued feature:
The bluemixUtility-1.0 feature is discontinued. To configure access to IBM Cloud services, such as Cloudant, dashDB, or Watson Services, see the documentation for the cloud service we want to configure.
- Blueprint
- <feature>blueprint-1.0</feature>
Enable support for deploying OSGi applications that use the OSGi blueprint container specification.
- With the OSGi Applications support in WebSphere Application Server, we can develop and deploy modular applications that use Java EE and OSGi technologies.
- With the OSGi Applications support in WebSphere Application Server, we can develop and deploy modular applications that use Java EE and OSGi technologies.
- Cache Service
- <feature>distributedMap-1.0</feature>
Provide a local cache service that can be accessed using the DistributedMap API. A default cache is bound in JNDI at services/cache/distributedmap. We can distribute a cache by adding a network cache provider such as WebSphere eXtreme Scale.
- CDI
- <feature>cdi-1.0</feature>
Enable support for the Contexts and Dependency Injection 1.0 specification on Liberty.
Stabilized feature: The cdi-1.0 feature is stabilized. We can continue to use the cdi-1.0 feature in Liberty. However, consider using a later CDI feature.
- <feature>cdi-1.2</feature>
Enable support for the Contexts and Dependency Injection 1.2 specification on Liberty.
- <feature>cdi-2.0</feature>
Enable support for the Contexts and Dependency Injection 2.0 specification on Liberty.
- <feature>cdi-3.0</feature>
Enable support for the Contexts and Dependency Injection 3.0 specification on Liberty.
- <feature>cdi-4.0</feature>
Support for the Contexts and Dependency Injection 4.0 specification on Liberty.
- <feature>cdi-1.2</feature>
- Cloudant integration
- <feature>cloudant-1.0</feature>
Enable connections to Cloudant by providing a connector instance 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.
- Cluster member
- <feature>clusterMember-1.0</feature>
- A member in a collective can add the clusterMember-1.0 feature and specify <clusterMember name="cluster_name"/> into its server configuration. The cluster name is published to the controller, and this server is part of the specified cluster.
- A member in a collective can add the clusterMember-1.0 feature and specify <clusterMember name="cluster_name"/> into its server configuration. The cluster name is published to the controller, and this server is part of the specified cluster.
- Collective controller
- <feature>collectiveController-1.0</feature>
Enable controller function for a management collective. Include a management repository MBean accessible using the JMX/REST connector provided by the restConnector-1.0 feature. The collective controller acts as a storage and collaboration mechanism to which collective members can connect. The collectiveController-1.0 feature includes a ServerCommandMbean used to remote start or stop servers that are managed by the collective controller.
The collectiveController-1.0 feature and its capabilities are available only in WebSphere Application Server Network Deployment Liberty. The feature is not available in WebSphere Application Server Liberty, or WebSphere Application Server Liberty Core.
- Collective member
- <feature>collectiveMember-1.0</feature>
Enable a server to be a member of a management collective, allowing it to be managed by the collective controller.
- Coordinated Restore at Checkpoint
- Enable the org.crac Coordinated Restore at Checkpoint APIs, which provide InstantOn support for Spring Boot 3.x applications.
- CouchDB
- <feature>couchdb-1.0</feature>
Provide support for CouchDB instances and associated database connections. Access to CouchDB connections is available either by JNDI lookup or resource injection.
Stabilized feature: Use of the ektorp client library with the couchdb-1.0 feature is stabilized. This feature is stabilized because the ektorp Java driver is no longer in service. We can continue to use the ektorp client library with the couchdb-1.0 feature. However, consider using instead the cloudant-1.0 feature, which uses the Cloudant Java client, or create a CDI producer. Use any CouchDB version that meets our requirements.
- Dynamic caching service
- <feature>webCache-1.0</feature>
- Enable 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, we can include a cache-spec.xml file in the applications. We can distribute the cache by adding a network cache provider such as WebSphere eXtreme Scale.
- Enable 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, we can include a cache-spec.xml file in the applications. We can distribute the cache by adding a network cache provider such as WebSphere eXtreme Scale.
- Dynamic Routing
- <feature>dynamicRouting-1.0</feature>
- The Intelligent Management feature of the WebSphere plugin for Apache and IHS provides On Demand Router (ODR) capabilities for the plugin. Enable a server to run the dynamic routing service. The plugin can then connect to the ODR in order to dynamically route to all servers in the Liberty collective.
- The Intelligent Management feature of the WebSphere plugin for Apache and IHS provides On Demand Router (ODR) capabilities for the plugin. Enable a server to run the dynamic routing service. The plugin can then connect to the ODR in order to dynamically route to all servers in the Liberty collective.
- Enterprise JavaBeans (EJB)
- <feature>ejbLite-3.1</feature>
Support for EJB applications that are written to the EJB Lite subset of the EJB 3.1 specification.
Stabilized feature: The ejbLite-3.1 feature is stabilized. We can continue to use the ejbLite-3.1 feature in Liberty. However, consider using a later EJB feature.
- <feature>ejbLite-3.2</feature>
- 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>
- Provide 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 we need.
See also Enterprise JavaBeans (EJB) feature restrictions.
- <feature>ejbLite-3.2</feature>
- Enterprise Beans
- <feature>enterpriseBeansLite-4.0</feature>
Support for Jakarta Enterprise Beans applications that are written to the Jakarta Enterprise Beans Lite subset of the Jakarta Enterprise Beans 4.0 specification.
- <feature>enterpriseBeans-4.0</feature>
- Support for the Jakarta Enterprise Beans applications that are written to the Jakarta Enterprise Beans 4.0 specification.
- This feature includes the following features:
- <feature>enterpriseBeansLite-4.0</feature>
- <feature>enterpriseBeansHome-4.0</feature>
- enterpriseBeansPersistentTimer-4.0
- enterpriseBeansRemote-4.0
- mdb-4.0
If full Enterprise Beans 4.0 support is not required, various combinations of these features can be used to provide the support that we need.
See also Enterprise JavaBeans (EJB) feature restrictions.
- <feature>enterpriseBeans-4.0</feature>
- Expression Language 3.0
- <feature>el-3.0</feature>
Enable support for the Expression Language (EL) 3.0.
- Jakarta Expression Language 4.0
- <feature>expressionLanguage-4.0</feature>
Enable support for the Expression Language (EL) 4.0.
- Jakarta Expression Language 5.0
- <feature>expressionLanguage-5.0</feature>
Enable support for the Expression Language (EL) 5.0.
- Event logging
- <feature>eventLogging-1.0</feature>
- Log a record of events, such as the JDBC requests and servlet requests, and their durations.
- Log a record of events, such as the JDBC requests and servlet requests, and their durations.
- gRPC
- <feature>grpc-1.0</feature>
- Allows web applications to define and provide gRPC services.
- Allows web applications to define and provide gRPC services.
- gRPC Client
- <feature>grpcClient-1.0</feature>
- Provide a gRPC client, which can be used by applications to call gRPC services.
- Provide a gRPC client, which can be used by applications to call gRPC services.
- Health Analyzer
- <feature>healthAnalyzer-1.0</feature>
Provide 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>
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>
Standard interfaces to manageable aspects of Java EE 7 and enables applications to use the interfaces 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, we can invoke Management EJB API through JNDI name lookup. The Management EJB binding name (JNDI lookup name) is ejb/mejb/MEJB.
- Jakarta EE Platform
- <feature>jakartaee-8.0</feature>
<feature>jakartaee-9.1</feature>
<feature>jakartaee-10.0</feature>Combination of the Liberty features required to support the Jakarta EE Platform.
- Java API for RESTful Web Services (JAX-RS)
- Support for the Java API for RESTful Web Services on Liberty.
- For EJB applications that use the jaxrs-1.1 server feature, we must enable the ejbLite-3.1 feature in the server.xml file.
- For JAX-RS applications that use CDI, we must enable the cdi-1.0 feature in the server.xml file.
Stabilized features: The jaxrs-1.1, ejbLite-3.1, and cdi-1.0 features are stabilized. We can continue to use the features. However, consider using later JAX-RS, EJB, and CDI features.
- <feature>jaxrs-2.1</feature>
Support for the Java API for RESTful Web Services on Liberty.
- Jakarta RESTful Web Services 3.0
- <feature>restfulWS-3.0</feature>
Enable support for Jakarta RESTful Web Services 3.0. These annotations can be used to define web service clients and endpoints that comply with the REST architectural style.
- Jakarta RESTful Web Services 3.1
- <feature>restfulWS-3.1</feature>
Enable support for Jakarta RESTful Web Services 3.1. These annotations can be used to define web service clients and endpoints that comply with the REST architectural style.
- Jakarta RESTful Web Services Client 3.0
- <feature>restfulWS-3.0</feature>
Enable support for the Jakarta RESTful Web Services 3.0 Client API.
- Jakarta RESTful Web Services Client 3.1
- <feature>restfulWS-3.1</feature>
Enable support for the Jakarta RESTful Web Services 3.1 Client API.
- Java API for XML-Based Web Services (JAX-WS)
- <feature>jaxws-2.2</feature>
- Support for the Java API for XML-Based Web Services on Liberty.
- For web applications that support the JAX-WS programming model, we 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, we must enable the ejbLite-3.1, servlet-3.0, and jaxws-2.2 server features in the server.xml file.
- Support for the Java API for XML-Based Web Services on Liberty.
- Jakarta XML Web Services 3.0
- <feature>xmlWS-3.0</feature>
Enable support for XML Web Services 3.0. These web services and clients communicate using XML. Annotations can be used to simplify the development of service clients and endpoints.
- Jakarta XML Web Services 4.0
- <feature>xmlWS-4.0</feature>
Enable support for Jakarta XML Web Services 4.0. These web services and clients communicate using XML. Annotations can be used to simplify the development of service clients and endpoints.
- Java Architecture for XML Binding (JAXB)
- <feature>jaxb-2.2</feature>
- Support for the Java Architecture for XML Binding (JAXB) on Liberty.
- Support for the Java Architecture for XML Binding (JAXB) on Liberty.
- Jakarta Architecture for XML Binding (JAXB)
- <feature>xmlBinding-3.0</feature>
- Enable support for the Jakarta XML Binding 3.0 specification, which provides easy mapping of Java classes to XML documents.
- <feature>xmlBinding-4.0</feature>
- Enable support for the Jakarta XML Binding 4.0 specification, which provides mapping of Java classes to XML documents.
- Enable support for the Jakarta XML Binding 3.0 specification, which provides easy mapping of Java classes to XML documents.
- Java Authentication SPI for Containers 1.1
- <feature>jaspic-1.1</feature>
- Enable support for securing the server runtime environment and applications using Java Authentication SPI for Containers (JASPIC) providers as defined in JSR-196.
- Enable support for securing the server runtime environment and applications using Java Authentication SPI for Containers (JASPIC) providers as defined in JSR-196.
- Jakarta Authentication 2.0
- <feature>appAuthentication-2.0</feature>
Enable support for securing the server runtime environment and applications using Jakarta Authentication 2.0 providers.
- Jakarta Authentication 3.0
- <feature>appAuthentication-3.0</feature>
Enable support for securing the server runtime environment and applications using Jakarta Authentication 3.0 providers.
- Java Authorization Contract for Containers 1.5
- <feature>jacc-1.5</feature>
- Enable support for Java Authorization Contract for Containers (JACC) version 1.5 In order to add the jacc-1.5 feature to the server, we need to add the third party JACC provider, which is not a part of the WebSphere Application Server Liberty.
- Enable support for Java Authorization Contract for Containers (JACC) version 1.5 In order to add the jacc-1.5 feature to the server, we need to add the third party JACC provider, which is not a part of the WebSphere Application Server Liberty.
- Jakarta Authorization 2.0
- <feature>appAuthorization-2.0</feature>
- Enable support for Jakarta Authorization version 2.0. In order to add the appAuthorization-2.0 feature to the server, we need to add the third party provider, which is not a part of the WebSphere Application Server Liberty.
- Enable support for Jakarta Authorization version 2.0. In order to add the appAuthorization-2.0 feature to the server, we need to add the third party provider, which is not a part of the WebSphere Application Server Liberty.
- Jakarta Authorization 2.1
- <feature>appAuthorization-2.1</feature>
- Enable support for Jakarta Authorization version 2.0. In order to add the appAuthorization-2.1 feature to the server, we need to add the third party provider, which is not a part of the WebSphere Application Server Liberty.
- Enable support for Jakarta Authorization version 2.0. In order to add the appAuthorization-2.1 feature to the server, we need to add the third party provider, which is not a part of the WebSphere Application Server Liberty.
- Java EE
- <feature>javaee-7.0</feature>
Combination of the Liberty features required to support the Java EE 7.0 Full Platform.
- <feature>javaee-8.0</feature>
Combination of the Liberty features required to support the Java EE 8.0 Full Platform.
- <feature>javaee-8.0</feature>
- Java EE Application Client
- <feature>javaeeClient-7.0</feature>
Enable support for Java EE Application Client 7.0.
- <feature>javaeeClient-8.0</feature>
Enable support for Java EE Application Client 8.0.
- <feature>javaeeClient-8.0</feature>
- Jakarta EE Application Client
- <feature>jakartaeeClient-9.1.</feature>
Enable support for Jakarta EE Application Client 7.0.
- <feature>javaeeClient-8.0</feature>
Enable support for Java EE Application Client 8.0.
- <feature>javaeeClient-8.0</feature>
- Java EE Connector Architecture
- <feature>jca-1.6</feature>
Configuration elements to define instances of connection factories, administered objects, and activation specifications, and to associate these instances with an installed resource adapter.
Stabilized feature: The jca-1.6 feature is stabilized. We can continue to use the jca-1.6 feature. However, consider using a later JCA feature.
- <feature>jca-1.7</feature>
Configuration elements to define instances of connection factories, administered objects, and activation specifications, and to associate these instances with an installed resource adapter. We can use any resource adapter that complies with the JCA 1.7 specification or an earlier specification.
- <feature>jca-1.7</feature>
- Jakarta Connectors 2.0
- <feature>connectors-2.0</feature>
Enable the configuration of resource adapters to access Enterprise Information Systems (EIS) from applications.
- Jakarta Connectors 2.1
- <feature>connectors-2.1</feature>
Enable the configuration of resource adapters to access Enterprise Information Systems (EIS) from applications.
- Jakarta Connectors Inbound Security 2.0
- <feature>connectorsInboundSecurity-2.0</feature>
Enable security inflow for resource adapters.
- Java Database Connectivity (JDBC)
- <feature>jdbc-4.0</feature>
- <feature>jdbc-4.1</feature>
- <feature>jdbc-4.2</feature>
<feature>jdbc-4.3</feature>- The JDBC features provide support for applications that access a database. We can take an existing application that uses Java Database Connectivity (JDBC) and a data source, and deploy the application to a server. The later JDBC features support drivers that comply with earlier specifications. For example, the jdbc-4.2 feature supports any JDBC driver that complies with the JDBC 4.2, 4.1, 4.0, 3.0, or 2.x specification.
- <feature>jdbc-4.1</feature>
- Java Message Service (JMS)
- <feature>jms-1.1</feature>
Stabilized feature: The jms-1.1 feature is stabilized. We can continue to use the jms-1.1 feature. However, consider using the jms-2.0 feature.
- <feature>jms-2.0</feature>
Enable the configuration of resource adapters to access messaging systems using the Java Message Service API. This also includes the configuration JMS connection factories, queues, topics and activation specifications. Any JMS resource adapter that complies with the JCA 1.7 specification can be used.
- <feature>jms-2.0</feature>
- Jakarta Messaging 3.0
- <feature>messaging-3.0</feature>
Enable the configuration of resource adapters to access messaging systems using the Jakarta Messaging API. Also enables the configuration of Jakarta Messaging connection factories, queues, topics, and activation specifications. Any Jakarta Messaging resource adapter that complies with the Jakarta Connectors 2.0 specification can be used.
- Jakarta Messaging 3.1
- <feature>messaging-3.1</feature>
Enable the configuration of resource adapters to access messaging systems using the Jakarta Messaging API. Also enables the configuration of Jakarta Messaging connection factories, queues, topics, and activation specifications.
- Java Naming and Directory Interface (JNDI)
- <feature>jndi-1.0</feature>
Support for a single JNDI entry definition in the server configuration of Liberty.
- Java Persistence API (JPA)
- <feature>jpa-2.0</feature>
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.
Stabilized feature: The jpa-2.0 feature is stabilized. We can continue to use the jpa-2.0 feature. However, consider using a later JPA feature.
- <feature>jpa-2.1</feature>
Support for applications that use application-managed and container-managed JPA written to the JPA 2.1 specification. The support is built on EclipseLink to support the container-managed programming model.
- <feature>jpa-2.2</feature>
Support for applications that use application-managed and container-managed JPA written to the JPA 2.2 specification. The support is built on EclipseLink to support the container-managed programming model.
- <feature>jpa-2.1</feature>
- Jakarta Persistence 3.0
- <feature>persistence-3.0</feature>
Enable support for applications that use application-managed and container-managed persistence. This feature includes Jakarta Persistence 3.0 specification interfaces and container-managed persistence integration. EclipseLink is also included as the default persistence provider implementation.
- Jakarta Persistence 3.0
- <feature>persistence-3.1</feature>
Enable support for applications that use application-managed and container-managed persistence. This feature includes Jakarta Persistence 3.1 specification interfaces and container-managed persistence integration. EclipseLink is also included as the default persistence provider implementation.
- Java Persistence API Container
- <feature>jpaContainer-2.1</feature>
Enable 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.
- <feature>jpaContainer-2.2</feature>
Enable support for applications that use application-managed and container-managed JPA written to the Java Persistence API 2.2 specification. This only includes Java Persistence API 2.2 specification interfaces, and container-managed JPA integration. This feature does not include any JPA implementation.
- <feature>jpaContainer-2.2</feature>
- Jakarta Persistence Container 3.0
- <feature>persistenceContainer-3.0</feature>
Enable support for applications that use application-managed and container-managed persistence. This feature only includes Jakarta Persistence 3.0 specification interfaces and container-managed persistence integration. This feature does not include a Jakarta Persistence provider implementation
- Jakarta Persistence Container 3.1
- <feature>persistenceContainer-3.1</feature>
Enable support for applications that use application-managed and container-managed persistence. This feature only includes Jakarta Persistence 3.1 specification interfaces and container-managed persistence integration. This feature does not include a Jakarta Persistence provider implementation
- JavaMail API
- <feature>javaMail-1.5</feature>
<feature>javaMail-1.6</feature>- The JavaMail API supports communication between external mail servers and Liberty applications.
- The JavaMail API supports communication between external mail servers and Liberty applications.
- Jakarta Mail API
- <feature>Mail-2.1</feature>
<feature>Mail-2.0</feature>- The Jakarta Mail API supports communication between external mail servers and Liberty applications.
- The Jakarta Mail API supports communication between external mail servers and Liberty applications.
- JavaScript Object Notation Binding
- <feature>jsonb-1.0</feature>
<feature>jsonb-2.0</feature>
<feature>jsonb-3.0</feature>The Java API for JSON Binding (JSON-B) feature provides a standard for converting between Java objects and JavaScript Object Notation (JSON).
- JavaScript Object Notation Binding via Bells
- <feature>jsonbContainer-1.0</feature>
<feature>jsonbContainer-2.0</feature>
<feature>jsonbContainer-3.0</feature>The JSON-B feature provides a standard for converting between Java objects and JSON. The default JSON-B provider is configured via a <bell> which points at a library containing the JSON-B provider JAR file(s).
- 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).
- <feature>jsonp-1.1</feature>
Provides a standardized method for constructing and manipulating data to be rendered in JSON.
<feature>jsonp-2.0</feature>
Provides a standardized method for constructing and manipulating data to be rendered in JSON.
<feature>jsonp-2.1</feature>
Provides a standardized method for constructing and manipulating data to be rendered in JSON.
- <feature>jsonp-1.1</feature>
- JavaScript Object Notation Processing via Bells
- <feature>jsonpContainer-1.1</feature>
<feature>jsonpContainer-2.0</feature>
<feature>jsonpContainer-2.1</feature>The Java API for JSON Processing (JSON-P) feature provides a standardized method for constructing and manipulating data to be rendered in JSON. When this feature is enabled, there is no built-in JSON-P provider. Instead, configure a JSON-P provider via a <bell> which points at a library containing the JSON-P provider JAR file(s).
- JavaScript Object Notation (JSON4J) Library
- <feature>json-1.0</feature>
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:
- JSON Web Token
- <feature>jwt-1.0</feature>
With the jwt-1.0 feature, we can configure a Liberty server to build and consume JSON Web Token (JWT) tokens, which we can use to propagate user identity or tokens.
- JSON Web Token as an Single-Sign-On cookie
- <feature>jwtSso-1.0</feature>
Enable a Liberty server to produce and consume JSON Web Token (JWT) cookies for authentication.
- JavaServer Faces (JSF)
- <feature>jsf-2.0</feature>
Support for web applications that use the JSF framework. This framework simplifies the construction of user interfaces. If we include the jsf-2.0 feature, we also include the jsp-2.2 feature, because the JSF framework is an extension of the JSP framework.
Stabilized feature: The jsf-2.0 and jsp-2.2 features are stabilized. We can continue to use the features. However, consider using later JSF and JSP features.
- <feature>jsf-2.2</feature>
Enable support for web applications that use the JavaServer Faces (JSF) 2.2 framework. This framework simplifies the construction of user interfaces.
- <feature>jsf-2.3</feature>
Enable support for web applications that use the JavaServer Faces (JSF) 2.3 framework. This framework simplifies the construction of user interfaces.
- To get the feature, see Install assets using the installUtility command.
- <feature>jsf-2.2</feature>
- Jakarta Server Faces 3.0
- <feature>faces-3.0</feature>
Enable support for web applications that use the Jakarta Server Faces 3.0 framework. This framework simplifies the construction of user interfaces.
- Jakarta Server Faces 4.0
- <feature>faces-4.0</feature>
Enable support for web applications that use the Jakarta Server Faces 3.0 framework. This framework simplifies the construction of user interfaces.
- JavaServer Faces Container
-
<feature>jsfContainer-2.2</feature>
Enable 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.
- Jakarta Server Faces Container 3.0
- <feature>facesContainer-3.0</feature>
Enable support for web applications that use the Jakarta Server Faces 3.0 framework. This framework simplifies the construction of user interfaces.
- Jakarta Server Faces Container 4.0
- <feature>facesContainer-4.0</feature>
Enable support for web applications that use the Jakarta Server Faces 4.0 framework. This framework simplifies the construction of user interfaces.
- JavaServer Pages (JSP)
- <feature>jsp-2.2</feature>
Support for JSPs that are written to the JSP 2.2 specification. If include the jsp-2.2 feature, we also include the servlet-3.0 feature.
Stabilized features: The jsp-2.2 and servlet-3.0 features are stabilized. We can continue to use the features. However, consider using later JSP and servlet features.
- <feature>jsp-2.3</feature>
Enable support for Java Server Pages (JSPs) that are written to the JSP 2.3 specification. This framework simplifies the construction of user interfaces. Also enables the Expression Language (EL) version 3.0 feature.
- <feature>jsp-2.3</feature>
- Jakarta Server Pages 3.0
- <feature>pages-3.0</feature>
Enable support for Jakarta Server Pages that are written to the Jakarta Server Pages 3.0 specification. This framework simplifies the construction of user interfaces. Also enables the Jakarta Expression Language version 4.0 feature
- Jakarta Server Pages 3.1
- <feature>pages-3.1</feature>
Enable support for Jakarta Server Pages that are written to the Jakarta Server Pages 3.1 specification. This framework simplifies the construction of user interfaces. Also enables the Jakarta Expression Language version 5.0 feature
- Job manager integration
- <feature>serverStatus-1.0</feature>
Enable 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.
See:
Stabilized feature: The serverStatus-1.0 feature in Liberty is stabilized. We can continue to use the serverStatus-1.0 feature in Liberty. However, the job manager in WebSphere Application Server Network Deployment traditional is deprecated. Instead of job manager, use Urban Code Deploy to install WebSphere Application Server traditional, to deploy applications to its nodes, and to manage its remote hosts. To manage WebSphere Application Server traditional installations, we also can use swinging profiles.
- Kerberos Constrained Delegation for SPNEGO
- <feature>constrainedDelegation-1.0</feature>
Enable support for Kerberos constrained delegation for SPNEGO.
- ldapRegistry-3.0
- <feature>ldapRegistry-3.0</feature>
- 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. Use this feature, we can federate multiple LDAP repositories. Two or more LDAP repositories can be configured in the server.xml file, and we can get the consolidated results from multiple repositories for all LDAP operations.
- 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. Use this feature, we can federate multiple LDAP repositories. Two or more LDAP repositories can be configured in the server.xml file, and we can get the consolidated results from multiple repositories for all LDAP operations.
- Local JMX Connector
- <feature>localConnector-1.0</feature>
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.
- Logstash Collector
- <feature>logstashCollector-1.0</feature>
The logstashCollector-1.0 feature gathers data from various sources and forwards the data to a Logstash server using Lumberjack protocol. 1.0.
- Managed Beans
- <feature>managedBeans-1.0</feature>
Support for the Managed Beans 1.0 specification (JSR-316). Enable use of the javax.annotation.ManagedBean annotation.
- <feature>managedBeans-2.0</feature>
Enable support for the Managed Beans 2.0 specification.
- <feature>managedBeans-2.0</feature>
- Managed Executors and Thread Factories
- <feature>concurrent-1.0</feature>
Enable 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.
- Jakarta Concurrency
- concurrent-2.0
Enable the creation of managed executors that allow applications to submit tasks to run concurrently, with thread context that is managed by the application server.
- Message-driven beans
- <feature>jmsMdb-3.1</feature>
This feature is superseded by the mdb-3.1 feature. Both features provide identical function; only the feature names are different. mdb-3.1 is the preferred feature name.
Support for deploying and configuring the JMS resources required for the message-driven beans (MDB) to run within Liberty. Enable MDB to interact with either the embedded Liberty messaging or IBM MQ.
- Messaging
-
- Embedded Liberty Messaging features
- <feature>wasJmsServer-1.0</feature>
Enable 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. 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>
Enables support for JMS resource configurations (such as the connection factories, activation specifications, and queue and topic resources) and also provides the client libraries required by the messaging applications to connect to the JMS server on Liberty.
Stabilized feature: The wasJmsClient-1.1 feature is stabilized. We can continue to use the wasJmsClient-1.1 feature. However, consider using a later messaging feature.
- <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 using SSL, we 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 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:
- Configure 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 we enable the wasJmsSecurity-1.0 feature, we 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.
- <feature>messagingClient-3.0</feature>
Provides applications with access to the message queues hosted on WebSphere Application Server through the Jakarta Messaging 3.0 API. The messagingClient-3.0 feature is compliant with Jakarta Messaging 3.0 specifications
- <feature>messagingSecurity-3.0</feature>
Enable the WebSphere Embedded Messaging Server to authenticate and authorize access from Jakarta Messaging clients.
- <feature>Enable messagingServer-3.0</feature>
Enable an embedded messaging server that is Jakarta Messaging compliant. Applications can send and receive messages using the messagingClient-3.0 feature.
- <feature>wasJmsClient-1.1</feature>
- 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.
- <feature>microProfile-1.4</feature>
The microProfile-1.4 feature combines the Liberty features that support MicroProfile 1.4 for enterprise Java. MicroProfile 1.4 features extend the definition of Java EE 7.
- <feature>microProfile-2.0</feature>
The microProfile-2.0 feature combines the Liberty features that support MicroProfile 2.0 for enterprise Java. MicroProfile 2.0 features extend the definition of Java EE 8.
- <feature>microProfile-2.1</feature>
The microProfile-2.1 feature combines the Liberty features that support MicroProfile-2.1 for enterprise Java. MicroProfile 2.1 features extend the definition of Java EE 8.
- <feature>microProfile-2.2</feature>
The microProfile-2.2 feature combines the Liberty features that support MicroProfile-2.2 for enterprise Java. MicroProfile 2.2 features extend the definition of Java EE 8.
- <feature>microProfile-3.0</feature>
The microProfile-3.0 feature combines the Liberty features that support MicroProfile-3.0 for enterprise Java. MicroProfile 3.0 features extend the definition of Java EE 8.
- <feature>microProfile-3.2</feature>
The microProfile-3.2 feature combines the Liberty features that support MicroProfile-3.2 for enterprise Java. MicroProfile 3.2 features extend the definition of Java EE 8.
- <feature>microProfile-3.3</feature>
The microProfile-3.3 feature combines the Liberty features that support MicroProfile-3.3 for enterprise Java. MicroProfile 3.3 features extend the definition of Java EE 8.
- <feature>microProfile-4.0</feature>
The microProfile-4.0 feature combines the Liberty features that support MicroProfile-4.0 for enterprise Java. MicroProfile 4.0 features extend the definition of Jakarta EE 8.
- <feature>microProfile-4.1</feature>
The microProfile-4.1 feature combines the Liberty features that support MicroProfile-4.1 for enterprise Java. MicroProfile 4.1 features extend the definition of Jakarta EE 8.
- <feature>microProfile-5.0</feature>
The microProfile-5.0 feature combines the Liberty features that support MicroProfile-5.0 for enterprise Java. MicroProfile 5.0 features extend the definition of Jakarta EE 9.1.
- <feature>microProfile-6.0</feature>
The microProfile-6.0 feature combines the Liberty features that support MicroProfile-6.0 for enterprise Java. MicroProfile 6.0 features extend the definition of Jakarta EE 10.0.
The microProfile-6.1 feature combines the Liberty features that support MicroProfile-6.1 for enterprise Java. MicroProfile 6.1 features extend the definition of Jakarta EE 10.0.
- <feature>microProfile-1.2</feature>
- MicroProfile Configuration
- <feature>mpConfig-1.1</feature>
Enable application configuration properties from multiple sources to be amalgamated into a single set of configuration properties and accessed 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.
- <feature>mpConfig-1.3</feature>
The mpConfig-1.3 feature builds on previous versions of MicroProfile Config with enhancements to implicit converters and mapping of Config properties to environment variables. We can use the mpConfig-1.3 feature with either the cdi-1.2 feature or the cdi-2.0 feature.
- <feature>mpConfig-1.4</feature>
The mpConfig-1.4 feature builds on previous versions of MicroProfile Config with enhancements to implicit converters and mapping of Config properties to environment variables.
- <feature>mpConfig-2.0</feature>
The mpConfig-2.0 feature builds on previous versions of MicroProfile Config and is based on the SmallRye implementation of the MicroProfile Config specification.
- <feature>mpConfig-3.0</feature>
The mpConfig-3.0 feature builds on previous versions of MicroProfile Config and is based on the SmallRye implementation of the MicroProfile Config specification.
- <feature>mpConfig-3.1</feature>
The mpConfig-3.1 feature builds on previous versions of MicroProfile Config and is based on the SmallRye implementation of the MicroProfile Config specification.
- <feature>mpConfig-1.2</feature>
- MicroProfile Context Propagation
- <feature>mpContextPropagation-1.0</feature>
<feature>mpContextPropagation-1.2</feature>
<feature>mpContextPropagation-1.3</feature>The mpContextPropagation-1.0 feature enhances the concurrency capabilities of Java SE and Java EE. We can now create pipelines of dependent stages that run with predictable thread context, regardless of which thread the completion stage action runs on.
- mpContextPropagation-1.2 specifically addresses a difference in how MicroProfile Config 2.0 treats empty value configuration properties.
- <feature>mpContextPropagation-1.3</feature> aligns with Jakarta EE 9.1
- 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.
- <feature>mpFaultTolerance-1.1</feature>
Support for the MicroProfile Fault Tolerance 1.1 API. It also adds integration with MicroProfile metrics so that we automatically get metrics for methods annotated with FaultTolerance annotations.
- <feature>mpFaultTolerance-2.0</feature>
Support for the MicroProfile Fault Tolerance 2.0 API.
- <feature>mpFaultTolerance-2.1</feature>
Support for the MicroProfile Fault Tolerance 2.1 API.
- <feature>mpFaultTolerance-3.0</feature>
Support for the MicroProfile Fault Tolerance 3.0 API.
- <feature>mpFaultTolerance-4.0</feature>
Support for the MicroProfile Fault Tolerance 4.0 API.
- <feature>mpFaultTolerance-4.1</feature>
Support for the MicroProfile Fault Tolerance 4.1 API and the MicroProfile Telemetry 2,0 API.
- <feature>mpFaultTolerance-1.1</feature>
- MicroProfile GraphQL
- <feature>mpGraphQL-1.0</feature>
<feature>mpGraphQL-2.0</feature>- Enable the MicroProfile Graphical feature to build and consume GraphQL services and applications on Liberty.
- Enable the MicroProfile Graphical feature to build and consume GraphQL services and applications on Liberty.
- MicroProfile Health Check
- <feature>mpHealth-1.0</feature>
<feature>mpHealth-2.0</feature>
<feature>mpHealth-2.1</feature>
<feature>mpHealth-2.2</feature>
<feature>mpHealth-3.0</feature>
<feature>mpHealth-3.1</feature>
<feature>mpHealth-4.0</feature>Configure the MicroProfile health check feature and implement the HealthCheck API to provide health checks in our microservice.
- MicroProfile JSON Web Token
- <feature>mpJwt-1.0</feature>
We can configure a Liberty server to accept a MicroProfile JSON Web Token as an authentication token.
- <feature>mpJwt-1.1</feature>
We can configure a Liberty server to accept a MicroProfile JSON Web Token as an authentication token. MP-JWT 1.1 defines portable JWT verification configuration using MicroProfile Config, and requires the support of JSON Web Key (JWK).
- <feature>mpJwt-1.2</feature>
We can configure a Liberty server to accept a MicroProfile JSON Web Token as an authentication token. MicroProfile JWT 1.2 adds a number of MicroProfile Config properties to control different aspects of the JWT validation. The specification also adds support for the ES256 signature algorithm.
- <feature>mpJwt-2.0</feature>
We can configure a Liberty server to accept a MicroProfile JSON Web Token as an authentication token. MicroProfile JWT 2.0 aligns with Jakarta EE 9.1
- <feature>mpJwt-2.1</feature>
We can configure a Liberty server to accept a MicroProfile JSON Web Token as an authentication token. MicroProfile JWT 2.1 aligns with Jakarta EE 10.0
- <feature>mpJwt-1.1</feature>
- MicroProfile Metrics
- <feature>mpMetrics-1.0</feature>
<feature>mpMetrics-1.1</feature>
<feature>mpMetrics-2.0</feature>
<feature>mpMetrics-2.2</feature>
<feature>mpMetrics-2.3</feature>
<feature>mpMetrics-3.0</feature>
<feature>mpMetrics-4.0</feature>
<feature>mpMetrics-5.0</feature>Measure and monitor information in a Liberty application with MicroProfile metrics. 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.
- MicroProfile OpenAPI
-
We can generate and view REST API documentation with MicroProfile OpenAPI for enterprise Java.
- <feature>mpOpenAPI-1.0</feature>
The mpOpenAPI-1.0 feature supports the MicroProfile OpenAPI 1.0 specification.
- <feature>mpOpenAPI-1.1</feature>
The mpOpenAPI-1.1 feature supports the MicroProfile OpenAPI 1.1 specification.
- <feature>mpOpenAPI-2.0</feature>
The mpOpenAPI-2.0 feature supports the MicroProfile OpenAPI 2.0 specification.
- <feature>mpOpenAPI-3.0</feature>
The mpOpenAPI-3.0 feature supports the MicroProfile OpenAPI 3.0 specification.
- <feature>mpOpenAPI-3.1</feature>
The mpOpenAPI-3.0 feature supports the MicroProfile OpenAPI 3.0 specification.
The mpOpenAPI-3.0 feature supports the MicroProfile OpenAPI 3.1 specification.
- <feature>mpOpenAPI-1.0</feature>
- MicroProfile Open Tracing
- <feature>mpOpenTracing-1.0</feature>
<feature>mpOpenTracing-1.1</feature>
<feature>mpOpenTracing-1.2</feature>
<feature>mpOpenTracing-1.3</feature>
<feature>mpOpenTracing-2.0</feature>- <feature>mpOpenTracing-3.0</feature>
Stabilized features: These mpOpenTracing features are stabilized. The strategic alternative is mpTelemetry-1.0, a MicroProfile Telemetry feature.
See the MicroProfile OpenTracing to MicroProfile Telemetry 1.0 migration document.
MicroProfile open tracing provides a way to access an opentracing.io tracer.
- <feature>mpOpenTracing-3.0</feature>
- MicroProfile Reactive Messaging
-
<feature>mpReactiveMessaging-1.0</feature>
The MicroProfile Reactive Messaging feature enhances message-processing capability for applications that process streams of events. It also provides a Connector API to allow our methods to connect to external messaging systems.
- MicroProfile Reactive Streams Operators
- <feature>mpReactiveStreams-1.0</feature>
Use the MicroProfile Reactive Streams Operators feature to create and manipulate reactive streams of data.
- MicroProfile REST Client
- <feature>mpRestClient-1.0</feature>
<feature>mpRestClient-1.1</feature>
<feature>mpRestClient-1.2</feature>
<feature>mpRestClient-1.3</feature>
<feature>mpRestClient-1.4</feature>
<feature>mpRestClient-2.0</feature>
<feature>mpRestClient-3.0</feature>Invoke the MicroProfile Rest Client with any version of the mpRestClient-* feature.
- MicroProfile Telemetry
- Use the MicroProfile Telemetry feature to enable distributed tracing on our Liberty runtime.
In MicroProfile Telemetry 2.0 and later, we can use the OpenTelemetry protocol to collect and emit traces, logs, and metrics in a standardized way.
- mpTelemetry-1.0
- mpTelemetry-1.0
- MongoDB
- <feature>mongodb-2.0</feature>
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.
Stabilized feature: The mongodb-2.0 feature is stabilized. The MongoDB Java driver versions 2.10.0 to 2.14.2 that the feature supports are no longer in service. Instead of using the mongodb-2.0 feature, create a CDI producer for Mongo. The CDI producer can use any Mongo version that meets our requirements.
- Monitoring
- <feature>monitor-1.0</feature>
Support Monitoring Infrastructure (PMI) support on Liberty.
- OAuth
- <feature>oauth-2.0</feature>
Support for securing access to resources using the OAuth 2.0 protocol.
- Open tracing
- <feature>opentracing-1.0</feature>
<feature>opentracing-1.1</feature>
<feature>opentracing-1.2</feature>
<feature>opentracing-2.0</feature>- Stabilized and superceded features: These opentracing features are stabilized and superseded by mpTelemetry-1.0, a MicroProfile Telemetry feature.
Enable automatic distributed tracing in JAX-RS applications with an Opentracing feature. For more information, see Enable distributed tracing. To get an Opentracing feature, see Install assets using the installUtility command.
- Stabilized and superceded features: These opentracing features are stabilized and superseded by mpTelemetry-1.0, a MicroProfile Telemetry feature.
- OpenAPI
- <feature>openapi-3.0</feature>
The openapi-3.0 feature generates REST API documentation. The feature supports the OpenAPI V3 specification.
- <feature>openapi-3.1</feature>
Enable us to aggregate generated REST API documentation. The feature supports the MicroProfile OpenAPI specification.
Stabilized features: The openapi-3.0 and openapi-3.1 features are stabilized. We can continue to use the features. However, the strategic alternative is to use a MicroProfile OpenAPI feature such as mpOpenAPI-3.0.
- <feature>openapi-3.1</feature>
- OpenID
- <feature>openid-2.0</feature>
Enable users to authenticate themselves to multiple entities without the need to manage multiple accounts or sets of credentials.
Stabilized feature: The openid-2.0 feature is stabilized. We can continue to use the openid-2.0 feature in Liberty. However, consider using the openidConnectClient-1.0 feature.
Liberty supports OpenID 2.0 and plays a role as a Relying Party in web single-sign-on. Access 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>
Enable 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>
Enable 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 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.
- For more information about Application-ImportService and Application-ExportService headers, see Application manifest files.
- OSGi bundle
- <feature>osgiBundle-1.0</feature>
Enable support for deploying OSGi applications. With the OSGi Applications support, we can develop and deploy modular applications that use Java EE and OSGi technologies.
- OSGi Console
- <feature>osgiConsole-1.0</feature>
- Enable 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 our own features for product extensions.
- Enable 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 our own features for product extensions.
- OSGi JPA
- <feature>osgi.jpa-1.0</feature>
This feature is superseded by the blueprint-1.0 and jpa-2.0 features. When those features are both added to the server, this feature is added automatically. The osgi.jpa-1.0 feature provides JPA support for OSGi applications on Liberty.
- Password Utilities
- <feature>passwordUtilities-1.0</feature>
<feature>passwordUtilities-1.1</feature>Enable support for obtaining AuthData from an application using security plug-points.
- Product Insights
- <feature>productInsights-1.0</feature>
The productInsights-1.0 feature registers our Liberty server with the IBM Cloud Product Insights service on IBM Cloud to report usage metrics. IBM Cloud Product Insights service is deprecated:
The IBM Cloud Product Insights service is deprecated. After 21 March 2018, new Product Insights service instances cannot be created. Existing service instances were removed on the end-of-support date, 13 May 2018.
- Real-Time Communications
- <feature>rtcomm-1.0</feature>
Enable a highly-scalable call signaling engine 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.
Stabilized feature: The rtcomm-1.0 feature is stabilized. There is no strategic alternative. We can continue to use the rtcomm-1.0 feature.
- REST connector
- <feature>restConnector-1.0</feature>
Support secure JMX connector 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.
- <feature>restConnector-2.0</feature>
Support secure JMX connector 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. This feature supersedes the restConnector-1.0 feature and does not include the jaxrs-1.1 feature.
- See also:
To use the REST APIs, we add the restConnector-2.0 feature to the server configuration.
- <feature>restConnector-2.0</feature>
- Request timing
- <feature>requestTiming-1.0</feature>
- Provides warnings and diagnostic information for the slow or hung requests.
- Provides warnings and diagnostic information for the slow or hung requests.
- 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.
Stabilized feature: The rtcommGateway-1.0 feature is stabilized. There is no strategic alternative. We can continue to use the 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>
- Enable web applications to delegate user authentication to a SAML identity provider instead of a configured user registry.
- Enable 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 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 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.
Restriction: The Scaling Member feature (scalingMember-1.0) is not available on the IBM i platform.
- Secure Sockets Layer (SSL)
- <feature>ssl-1.0</feature>
This feature is superseded by the transportSecurity-1.0 feature.
- Security
- <feature>appSecurity</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, we must include the servlet-3.0 feature. To enable EJB security, we must include the ejbLite-3.1 feature. To support an LDAP user registry, we must include the ldapRegistry-3.0 feature.Superseded feature: 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. We can choose to use the appSecurity-2.0 version instead in the server configuration.
See Superseded Liberty features.
- To enable web security, we must specify the servlet-3.0 feature in the server.xml file.
- To enable support for LDAP, we must specify the ldapRegistry-3.0 feature in the server.xml file.
- 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 Secure Liberty and its applications and appSecurity-2.0 feature restrictions.
- <feature>appSecurity-3.0</feature>
Provides the core capability for the Java EE Security API 1.0 specification in Liberty. This feature supports the SecurityContext API and all of the annotations defined in the specification. For more information about the specification, see JSR 375: Java EE Security API.
- <feature>appSecurity-4.0</feature>
Provides the core capability for the Jakarta EE Security API 2.0 specification in Liberty. This feature supports the SecurityContext API and all of the annotations defined in the specification.
- <feature>appSecurity-5.0</feature>
Provides the core capability for the Jakarta EE Security API 3.0 specification in Liberty.
- 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, we must include the servlet-3.0 feature. To enable EJB security, we must include the ejbLite-3.1 feature. To support an LDAP user registry, we must include the ldapRegistry-3.0 feature.Superseded feature: 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. We can choose to use the appSecurity-2.0 version instead in the server configuration.
- Servlet
- <feature>servlet-3.0</feature>
Support for HTTP Servlets written to the Java Servlet 3.0 specification.
Stabilized feature: The servlet-3.0 feature is stabilized. We can continue to use the servlet-3.0 feature. However, consider using a later feature.
- <feature>servlet-3.1</feature>
Enable support for HTTP Servlets written to the Java Servlet 3.1 specification.
- <feature>servlet-4.0</feature>
Enable support for HTTP Servlets written to the Java Servlet 4.0 specification. To get the feature, see Install assets using the installUtility command.
- <feature>servlet-5.0</feature>
Enable support for HTTP Servlets written to the Jakarta Servlet 5.0 specification. To get the feature, see Install assets using the installUtility command.
See also Secure Liberty and its applications.
- <feature>servlet-3.1</feature>
- SIP Servlet
- <feature>sipServlet-1.1</feature>
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.
- Session persistence
- <feature>sessionDatabase-1.0</feature>
Provides session affinity and failover support on Liberty.
See Configure Liberty session persistence to a database.
- <feature>sessionCache-1.0</feature>
Enable persistence of HTTP sessions with Java Caching (JCache). With this feature, we can get session persistence without the use of a relational database. For failover of HTTP sessions, configure multiple servers to persist data to the same location.
- <feature>sessionCache-1.0</feature>
- Social login
- <feature>socialLogin-1.0</feature>
Enable users to authenticate to websites hosted on a Liberty server by logging in with their social media accounts.
- SPNEGO
- <feature>spnego-1.0</feature>
Enable users to log in to the Microsoft Domain controller once and access protected applications on Liberty servers without getting prompted again.
See Configure SPNEGO authentication in Liberty.
- Spring Boot
- <feature>springBoot-1.5</feature>
Enable support for Spring Boot applications using Spring Boot 1.5.x.
- <feature>springBoot-2.0</feature>
Enable support for Spring Boot applications using Spring Boot 2.0.x.
Enable support for Spring Boot applications using Spring Boot 3.0.x.
See Spring Boot programming model support
- <feature>springBoot-2.0</feature>
- Timed operations
- <feature>timedOperations-1.0</feature>
Enable support for warnings to be logged when certain operations in the application server are running more slowly than expected.
Stabilized feature: The timedOperations-1.0 feature is stabilized. There is no strategic alternative. We can continue to use the timedOperations-1.0 feature.
- Transport Security
- <feature>transportSecurity-1.0</feature>
The transportSecurity-1.0 feature supports Transport Layer Security (TLS) connections. The TLS protocol is an update to the now-deprecated Secure Sockets Layer (SSL) protocol. This feature supersedes 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.
We an specify the TLS certificates, adding a pointer in the server.xml file
To change the HTTPS port, set the <httpsPort> attribute of the <httpEndpoint> element in the server.xml file
- Usage metering
- <feature>usageMetering-1.0</feature>
Stabilized feature: The usage metering feature is stabilized. It currently is used with WebSphere Automation. For application development or general health status needs, consider using the MicroProfile metrics feature.
- Web application bundle (WAB)
- <feature>wab-1.0</feature>
Support for WABs 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 include the wab-1.0 feature, we also include the servlet-3.0 and blueprint-1.0 features.
- Web Profile
- <feature>webProfile-6.0</feature>
Combination of the Liberty features required to support the Java EE 6 Web Profile.
- <feature>webProfile-7.0</feature>
Combination of the Liberty features required to support the Java EE 7 Web Profile.
- <feature>webProfile-8.0</feature>
Combination of the Liberty features required to support the Java EE 8 Web Profile.
- <feature>webProfile-9.1</feature>
Combination of the Liberty features required to support the Jakarta EE 9.1 Web Profile.
- <feature>webProfile-7.0</feature>
- WebSocket
- <feature>websocket-1.0</feature>
<feature>websocket-1.1</feature>
<feature>websocket-2.0</feature>Standard protocol that enables a web browser or client application and a web server application to communicate using one full duplex connection.
- WebSphere Application Server Heritage APIs
-
- heritageAPIs-1.0
- heritageAPIs-1.1
These features assists traditional WebSphere Application Server applications to more easily migrate to Liberty. The heritage APIs are intended to be used only for migration purposes and are not optimized for creating new applications or maintaining existing applications. These features for legacy applications are compatible with Java EE, not Jakarta EE.
- Web Services Atomic Transaction
- <feature>wsAtomicTransaction-1.2</feature>
The wsAtomicTransaction is an interoperable transaction protocol. It enables us to flow distributed transactions using Web service messages, and coordinate in an interoperable manner between heterogeneous transaction infrastructures.
- Web services security
- <feature>wsSecurity-1.1</feature>
- Support for securing web services at the message level. To secure web services messages, we 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.
- Support for securing web services at the message level. To secure web services messages, we 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>wmqMessagingClient-3.0</feature>
Provide applications with access to message queues hosted on IBM MQ through the Jakarta Messaging 3.0 API.
- <feature>wmqJmsClient-1.1</feature>
- Enable application to use JMS messaging that connects to a IBM MQ server.
Stabilized feature: The wmqJmsClient-1.1 feature is stabilized. We can continue to use the wmqJmsClient-1.1 feature. However, consider using a later messaging feature.
- <feature>wmqJmsClient-2.0</feature>
- 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.
- <feature>wmqJmsClient-1.1</feature>
- z/OS Connect
- <feature>zosConnect-1.0</feature>
- <feature>zosConnect-1.2</feature>
Provide a gateway between mobile, cloud, and web clients and z/OS back-end systems, such as CICS Transaction Server, IMS, and batch applications. They provide RESTful APIs and enable you to route HTTP requests to remote REST endpoints. They also accept and return JSON payloads and communicates with back-end systems by providing a data transformation service that converts JSON payloads to/from byte arrays consumable by z/OS native-language applications that are written in Cobol, PL/I, and C.
Stabilized features: The zosConnect-1.0 and zosConnect-1.2 features are stabilized. We can continue to use the features. However, consider using the IBM z/OS Connect Enterprise Edition product.
- <feature>zosConnect-1.2</feature>
- z/OS optimized local adapters
- <feature>zosLocalAdapters-1.0</feature>
Enable high-performance calling between native-language applications on z/OS and business logic in a Liberty server environment.
- z/OS request logging
- <feature>zosRequestLogging-1.0</feature>
The zosRequestLogging-1.0 feature collects HTTP request information and writes an SMF record for each request.
- z/OS security
- <feature>zosSecurity-1.0</feature>
Support on the z/OS platform for basic interactions with the SAF Registry, including authenticating users, and retrieving users, groups, or groups associated with users, from the SAF Registry.
- z/OS transaction management
- <feature>zosTransaction-1.0</feature>
Enable the application server to synchronize and appropriately manage transactional activity between the Resource Recovery Services (RRS), the transaction manager of the application server, and the resource manager.
See also Runtime environment known issues and restrictions.
- z/OS workload management
- <feature>zosWlm-1.0</feature>
Access to z/OS native workload management (WLM) services.
- z/OS Automatic Restart Manager
- <feature>zosAutomaticRestartManager-1.0</feature>
Recover application servers.
- z/OS Password Encryption Key
- <feature>zosPasswordEncryptionKey-1.0</feature>
Allow AES encryption keys to be stored in SAF on z/OS.
Liberty features supported for each Liberty edition