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.
Although the following Liberty features table documents all Liberty features, 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.
You can enable certain Liberty features without having to specify a particular feature version by using versionless features. Versionless features are available for the MicroProfile, Jakarta EE, and Java EE platforms. For more information, see the Open Liberty website. WebSphere® Liberty supports all the available platforms and versionless features that are documented on the Open Liberty website, with the addition of the javaee-6.0
platform, which Open Liberty does not support.
The following table lists the Liberty features that are supported for each Liberty edition.
Feature reference
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 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.- 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.Stabilized feature: TheapiDiscovery-1.0
feature is stabilized. You can continue to use the feature. However, instead ofapiDiscovery-1.0
, consider using theopenapi-3.0
feature, which supports the OpenAPI specification, or thempOpenAPI-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 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>
<feature>appClientSupport-2.0</feature>
The Application Client Support features 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 theserver.xml
file only.- Audit
<feature>audit-1.0</feature>
This feature enables support to report and track auditable events to ensure the integrity of your system.
- Automatic Certificate Management Environment (ACME) Support
<feature>acmeCa-2.0</feature>
This feature automates interactions with a certificate authority (CA) by using the Automated Certificate Management Environment (ACME) protocol.
- Batch
<feature>batch-1.0</feature>
The
batch-1.0
feature enables the use of the JSR-352 programming model.- 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.Stabilized feature: ThebeanValidation-1.0
feature is stabilized. You can continue to use thebeanValidation-1.0
feature in Liberty. However, consider using a later bean validation feature.- 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 configured 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: ThebluemixUtility-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 that you want to configure.- Blueprint
<feature>blueprint-1.0</feature>
The
blueprint-1.0
feature enables support for deploying OSGi applications that use the OSGi blueprint container specification.- 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.Stabilized feature: Thecdi-1.0
feature is stabilized. You can continue to use thecdi-1.0
feature in Liberty. However, consider using a later CDI feature.- 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.- Coordinated Restore at Checkpoint
- The
crac-1.4
feature enables the org.crac Coordinated Restore at Checkpoint APIs, which provide InstantOn support for Spring Boot 3.x applications. - CouchDB
<feature>couchdb-1.0</feature>
The
couchdb-1.0
feature provides 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 thecouchdb-1.0
feature is stabilized. This feature is stabilized because the ektorp Java driver is no longer in service. You can continue to use the ektorp client library with thecouchdb-1.0
feature. However, consider using instead the cloudant-1.0 feature, which uses the Cloudant Java client, or create a CDI producer by following the technique that is described in Access any version of MongoDB with Open Liberty using CDI. Use any CouchDB version that meets your requirements.- Dynamic caching service
<feature>webCache-1.0</feature>
- 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.Stabilized feature: TheejbLite-3.1
feature is stabilized. You can continue to use theejbLite-3.1
feature in Liberty. However, consider using a later EJB feature.- Enterprise Beans
<feature>enterpriseBeansLite-4.0</feature>
The
<feature>enterpriseBeansLite-4.0</feature>
feature provides support for Jakarta Enterprise Beans applications that are written to the Jakarta Enterprise Beans Lite subset of the Jakarta Enterprise Beans 4.0 specification.- Expression Language 3.0
<feature>el-3.0</feature>
This feature enables support for the Expression Language (EL) 3.0.
- Jakarta Expression Language 4.0
<feature>expressionLanguage-4.0</feature>
This feature enables support for the Expression Language (EL) 4.0.
- Jakarta Expression Language 5.0
<feature>expressionLanguage-5.0</feature>
This feature enables support for the Expression Language (EL) 5.0.
- Event logging
<feature>eventLogging-1.0</feature>
- gRPC
<feature>grpc-1.0</feature>
- gRPC Client
<feature>grpcClient-1.0</feature>
- 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
andejbRemote-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.
- Jakarta EE Platform
<feature>jakartaee-8.0</feature>
<feature>jakartaee-9.1</feature>
<feature>jakartaee-10.0</feature>
This feature provides a convenient combination of the Liberty features that are required to support the Jakarta EE Platform.
- Java API for RESTful Web Services (JAX-RS)
<feature>jaxrs-1.1</feature>
Thejaxrs-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 theejbLite-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.
Stabilized features: Thejaxrs-1.1
,ejbLite-3.1
, andcdi-1.0
features are stabilized. You can continue to use the features. However, consider using later JAX-RS, EJB, and CDI features.- For EJB applications that use the
- Jakarta RESTful Web Services 3.0
<feature>restfulWS-3.0</feature>
This feature enables 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>
This feature enables 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>
This feature enables support for the Jakarta RESTful Web Services 3.0 Client API.
- Jakarta RESTful Web Services Client 3.1
<feature>restfulWS-3.1</feature>
This feature enables 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>
- Jakarta XML Web Services 3.0
<feature>xmlWS-3.0</feature>
This feature enables support for Jakarta 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>
This feature enables 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>
- Jakarta Architecture for XML Binding (JAXB)
<feature>xmlBinding-3.0</feature>
- Java Authentication SPI for Containers 1.1
<feature>jaspic-1.1</feature>
- Jakarta Authentication 2.0
<feature>appAuthentication-2.0</feature>
- Jakarta Authentication 3.0
<feature>appAuthentication-3.0</feature>
- Java Authorization Contract for Containers 1.5
<feature>jacc-1.5</feature>
- Jakarta Authorization 2.0
<feature>appAuthorization-2.0</feature>
- Jakarta Authorization 2.1
<feature>appAuthorization-2.1</feature>
- 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.
- Jakarta EE Application Client
<feature>jakartaeeClient-9.1.</feature>
This feature enables support for Jakarta EE Application Client 7.0.
- 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. Forjca-1.6
feature configuration information, see Java Connector Architecture 1.6.Stabilized feature: Thejca-1.6
feature is stabilized. You can continue to use thejca-1.6
feature. However, consider using a later JCA feature.- Jakarta Connectors 2.0
<feature>connectors-2.0</feature>
This feature enables the configuration of resource adapters to access Enterprise Information Systems (EIS) from applications.
- Jakarta Connectors 2.1
<feature>connectors-2.1</feature>
This feature enables the configuration of resource adapters to access Enterprise Information Systems (EIS) from applications.
- Jakarta Connectors Inbound Security 2.0
<feature>connectorsInboundSecurity-2.0</feature>
This feature enables security inflow for resource adapters.
- Java Database Connectivity (JDBC)
<feature>jdbc-4.0</feature>
- Java Message Service (JMS)
<feature>jms-1.1</feature>
Stabilized feature: Thejms-1.1
feature is stabilized. You can continue to use thejms-1.1
feature. However, consider using thejms-2.0
feature.- Jakarta Messaging 3.0
<feature>messaging-3.0</feature>
This feature enables the configuration of resource adapters to access messaging systems by using the Jakarta Messaging API. This feature 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>
This feature enables the configuration of resource adapters to access messaging systems by using the Jakarta Messaging API. This feature 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>
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.Stabilized feature: Thejpa-2.0
feature is stabilized. You can continue to use thejpa-2.0
feature. However, consider using a later JPA feature.- Jakarta Persistence 3.0
<feature>persistence-3.0</feature>
This feature enables 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>
This feature enables 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>
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.- Jakarta Persistence Container 3.0
<feature>persistenceContainer-3.0</feature>
This feature enables 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>
This feature enables 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>
- Jakarta Mail API
<feature>Mail-2.1</feature>
- 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).
- 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>
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 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. See Building and consuming JSON Web Token (JWT) tokens in Liberty.- JSON Web Token as an Single-Sign-On cookie
<feature>jwtSso-1.0</feature>
The
jwtSso-1.0
feature enables a Liberty server to produce and consume JSON Web Token (JWT) cookies for authentication. See Configuring a JSON Web Token as a Single-Sign-On cookie.- 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 thejsp-2.2
feature, because the JSF framework is an extension of the JSP framework.Stabilized feature: Thejsf-2.0
andjsp-2.2
features are stabilized. You can continue to use the features. However, consider using later JSF and JSP features.- Jakarta Server Faces 3.0
<feature>faces-3.0</feature>
This feature enables 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>
This feature enables 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>
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.
- Jakarta Server Faces Container 3.0
<feature>facesContainer-3.0</feature>
This feature enables 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>
This feature enables 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>
The
jsp-2.2
feature provides support for JSPs that are written to the JSP 2.2 specification. If you include thejsp-2.2
feature, you also include theservlet-3.0
feature.Stabilized features: Thejsp-2.2
andservlet-3.0
features are stabilized. You can continue to use the features. However, consider using later JSP and servlet features.- Jakarta Server Pages 3.0
<feature>pages-3.0</feature>
This feature enables support for Jakarta Server Pages that are written to the Jakarta Server Pages 3.0 specification. This framework simplifies the construction of user interfaces. Enabling this feature also enables the Jakarta Expression Language version 4.0 feature
- Jakarta Server Pages 3.1
<feature>pages-3.1</feature>
This feature enables support for Jakarta Server Pages that are written to the Jakarta Server Pages 3.1 specification. This framework simplifies the construction of user interfaces. Enabling this feature also enables the Jakarta Expression Language version 5.0 feature
- Job manager integration
<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 areStarted
andStopped
.- 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>- 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.- 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 by using Lumberjack protocol. See Using the Logstash collector version 1.0.For
logstashCollector-1.0
feature configuration information, see Logstash Collector-1.0.- 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 thejavax.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.- Jakarta Concurrency
concurrent-2.0
This feature enables 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.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.
- MicroProfile
<feature>microProfile-1.0</feature>
The
microProfile-1.0
feature combines the Liberty features that support MicroProfile 1.0 for enterprise Java.- 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.- MicroProfile Context Propagation
<feature>mpContextPropagation-1.0</feature>
- 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.- MicroProfile GraphQL
<feature>mpGraphQL-1.0</feature>
- MicroProfile Health Check
<feature>mpHealth-1.0</feature>
- 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.
- MicroProfile Metrics
<feature>mpMetrics-1.0</feature>
- MicroProfile OpenAPI
-
You can generate and view REST API documentation with MicroProfile OpenAPI for enterprise Java.
For more information, see Generate REST API documentation.
- MicroProfile Open Tracing
<feature>mpOpenTracing-1.0</feature>
- MicroProfile Reactive Messaging
-
<feature>mpReactiveMessaging-1.0</feature>
<feature>mpReactiveMessaging-3.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 your methods to connect to external messaging systems.
For more information, see Optimizing asynchronous communication with MicroProfile Messaging.
- MicroProfile Reactive Streams Operators
-
<feature>mpReactiveStreams-1.0</feature>
<feature>mpReactiveStreams-3.0</feature>
Use the MicroProfile Reactive Streams Operators feature to create and manipulate reactive streams of data. For more information, see Manipulating reactive streams of data in Liberty.
- MicroProfile REST Client
<feature>mpRestClient-1.0</feature>
- MicroProfile Telemetry
- Use the MicroProfile Telemetry feature to enable distributed tracing on your Liberty runtime.
In MicroProfile Telemetry 2.0 and later, you can use the OpenTelemetry protocol to collect and emit traces, logs, and metrics in a standardized way. For more information, see Enable observability with Micro Profile Telemetry on the Open Liberty website.
- 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 nativecom.mongodb
API performs the database manipulation.Stabilized feature: Themongodb-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 themongodb-2.0
feature, create a CDI producer for Mongo. The CDI producer can use any Mongo version that meets your requirements.- Monitoring
<feature>monitor-1.0</feature>
The
monitor-1.0
feature provides Performance Monitoring Infrastructure (PMI) support on Liberty.- OAuth
<feature>oauth-2.0</feature>
The
oauth-2.0
feature provides support for securing access to resources using the OAuth 2.0 protocol.- Open tracing
<feature>opentracing-1.0</feature>
- 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.Stabilized feature: TheLiberty 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-2.0
feature is stabilized. You can continue to use theopenid-2.0
feature in Liberty. However, consider using theopenidConnectClient-1.0
feature. For more information, see Configuring an OpenID Connect Client in Liberty.- 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.- 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>
- OSGi JPA
<feature>osgi.jpa-1.0</feature>
- Password Utilities
<feature>passwordUtilities-1.0</feature>
- 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.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>
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 aWebRTC
peer connection between two endpoints.Stabilized feature: Thertcomm-1.0
feature is stabilized. There is no strategic alternative. You can continue to use thertcomm-1.0
feature.- REST connector
<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.- Request timing
<feature>requestTiming-1.0</feature>
- RTComm Gateway
<feature>rtcommGateway-1.0</feature>
- SAML Web Browser SSO
<feature>samlWeb-2.0</feature>
- 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.
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.For more information on configuring SSL, see Transport Security.
- Security
<feature>
appSecurity
</feature>- Servlet
<feature>servlet-3.0</feature>
The
servlet-3.0
feature provides support for HTTP Servlets written to the Java Servlet 3.0 specification.Stabilized feature: Theservlet-3.0
feature is stabilized. You can continue to use theservlet-3.0
feature. However, consider using a later feature.- 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 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 Liberty session persistence to a database.- 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. 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. See Configuring SPNEGO authentication in Liberty.
- Spring Boot
<feature>springBoot-1.5</feature>
This feature enables support for Spring Boot applications using Spring Boot 1.5.x.
- 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.
Stabilized feature: ThetimedOperations-1.0
feature is stabilized. There is no strategic alternative. You can continue to use thetimedOperations-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 thessl-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.To specify the TLS 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.- 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. For additional information about available metrics, see Monitoring with MicroProfile metrics.- 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.
- 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.
- WebSocket
<feature>websocket-1.0</feature>
- 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. For more information, see WebSphere Application Server Heritage APIs 1.0.
- 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>
- WebSphere MQ Messaging feature:
<feature>wmqMessagingClient-3.0</feature>
The
wmqMessagingClient-3.0
feature provides applications with access to message queues hosted on IBM MQ through the Jakarta Messaging 3.0 API.