Chapter 9. Capability trimming When building a bootable JAR, you can decide which JBoss EAP features and subsystems to include. Note Capability trimming is supported only on OpenShift or when building a bootable JAR. Additional resources About the bootable JAR 9.1. Available JBoss EAP layers Red Hat makes available a number of layers to customize provisioning of the JBoss EAP server in OpenShift or a bootable JAR. Three layers are base layers that provide core functionality. The other layers are decorator layers that enhance the base layers with additional capabilities. Most decorator layers can be used to build S2I images in JBoss EAP for OpenShift or to build a bootable JAR. A few layers do not support S2I images; the description of the layer notes this limitation. Note Only the listed layers are supported. Layers not listed here are not supported. 9.1.1. Base layers Each base layer includes core functionality for a typical server user case. datasources-web-server This layer includes a servlet container and the ability to configure a datasource. This layer does not include MicroProfile capabilities. The following Jakarta EE specifications are supported in this layer: Jakarta JSON Processing 1.1 Jakarta JSON Binding 1.0 Jakarta Servlet 4.0 Jakarta Expression Language 3.0 Jakarta Server Pages 2.3 Jakarta Standard Tag Library 1.2 Jakarta Concurrency 1.1 Jakarta Annotations 1.3 Jakarta XML Binding 2.3 Jakarta Debugging Support for Other Languages 1.0 Jakarta Transactions 1.3 Jakarta Connectors 1.7 jaxrs-server This layer enhances the datasources-web-server layer with the following JBoss EAP subsystems: jaxrs weld jpa This layer also adds Infinispan-based second-level entity caching locally in the container. The following MicroProfile capability is included in this layer: MicroProfile REST Client The following Jakarta EE specifications are supported in this layer in addition to those supported in the datasources-web-server layer: Jakarta Contexts and Dependency Injection 2.0 Jakarta Bean Validation 2.0 Jakarta Interceptors 1.2 Jakarta RESTful Web Services 2.1 Jakarta Persistence 2.2 cloud-server This layer enhances the jaxrs-server layer with the following JBoss EAP subsystems: resource-adapters messaging-activemq (remote broker messaging, not embedded messaging) This layer also adds the following observability features to the jaxrs-server layer: MicroProfile Health MicroProfile Config The following Jakarta EE specification is supported in this layer in addition to those supported in the jaxrs-server layer: Jakarta Security 1.0 cloud-default-mp-config This layer provisions a server with standalone configuration based on the standalone-microprofile-ha.xml file. The cloud-default-mp-layer is provided by the org.jboss.eap.xp:eap-xp-cloud-galleon-pack and is supported for JBoss EAP XP S2I build, but not for a Bootable JAR. For more information about the server configuration files included in JBoss EAP XP, see the Standalone server configuration files section. This workflow uses the microprofile-config quickstart as an example. The quickstart provides a small, specific working example that can be used as a reference for your own project. See the microprofile-config quickstart that ships with JBoss EAP XP 5.0.0 for more information. ee-core-profile-server The ee-core-profile-server layer provisions a server with the Jakarta EE 10 Core Profile. The Core Profile provides a small, lightweight profile for users that provides both core JBoss EAP server functionality and Jakarta EE APIs. The ee-core-profile-server layer is best suited for smaller runtimes such as cloud-native applications and microservices. 9.1.2. Decorator layers Decorator layers are not used alone. You can configure one or more decorator layers with a base layer to deliver additional functionality. ejb-lite This decorator layer adds a minimal Jakarta Enterprise Beans implementation to the provisioned server. The following support is not included in this layer: IIOP integration MDB instance pool Remote connector resource This layer is only supported when building a bootable JAR. This layer is not supported when using S2I. Jakarta Enterprise Beans This decorator layer extends the ejb-lite layer. This layer adds the following support to the provisioned server, in addition to the base functionality included in the ejb-lite layer: MDB instance pool Remote connector resource Use this layer if you want to use message-driven beans (MDBs) or Jakarta Enterprise Beans remoting capabilities, or both. If you do not need these capabilities, use the ejb-lite layer. This layer is only supported when building a bootable JAR. This layer is not supported when using S2I. ejb-local-cache This decorator layer adds local caching support for Jakarta Enterprise Beans to the provisioned server. Dependencies : You can only include this layer if you have included the ejb-lite layer or the ejb layer. Note This layer is not compatible with the ejb-dist-cache layer. If you include the ejb-dist-cache layer, you cannot include the ejb-local-cache layer. If you include both layers, the resulting build might include an unexpected Jakarta Enterprise Beans configuration. This layer is only supported when building a bootable JAR. This layer is not supported when using S2I. ejb-dist-cache This decorator layer adds distributed caching support for Jakarta Enterprise Beans to the provisioned server. Dependencies : You can only include this layer if you have included the ejb-lite layer or the ejb layer. Note This layer is not compatible with the ejb-local-cache layer. If you include the ejb-dist-cache layer, you cannot include the ejb-local-cache layer. If you include both layers, the resulting build might result in an unexpected configuration. This layer is only supported when building a bootable JAR. This layer is not supported when using S2I. jdr This decorator layer adds the JBoss Diagnostic Reporting ( jdr ) subsystem to gather diagnostic data when requesting support from Red Hat. This layer is only supported when building a bootable JAR. This layer is not supported when using S2I. Jakarta Persistence This decorator layer adds persistence capabilities for a single-node server. Note that distributed caching only works if the servers are able to form a cluster. The layer adds Hibernate libraries to the provisioned server, with the following support: Configurations of the jpa subsystem Configurations of the infinispan subsystem A local Hibernate cache container Note This layer is not compatible with the jpa-distributed layer. If you include the jpa layer, you cannot include the jpa-distributed layer. This layer is only supported when building a bootable JAR. This layer is not supported when using S2I. jpa-distributed This decorator layer adds persistence capabilities for servers operating in a cluster. The layer adds Hibernate libraries to the provisioned server, with the following support: Configurations of the jpa subsystem Configurations of the infinispan subsystem A local Hibernate cache container Invalidation and replication Hibernate cache containers Configuration of the jgroups subsystem Note This layer is not compatible with the jpa layer. If you include the jpa layer, you cannot include the jpa-distributed layer. This layer is only supported when building a bootable JAR. This layer is not supported when using S2I. Jakarta Server Faces This decorator layer adds the jsf subsystem to the provisioned server. This layer is only supported when building a bootable JAR. This layer is not supported when using S2I. microprofile-platform This decorator layer adds the following MicroProfile capabilities to the provisioned server: MicroProfile Config MicroProfile Fault Tolerance MicroProfile Health MicroProfile JWT MicroProfile OpenAPI Note This layer includes MicroProfile capabilities that are also included in the observability layer. If you include this layer, you do not need to include the observability layer. observability This decorator layer adds the following observability features to the provisioned server: MicroProfile Health MicroProfile Config Note This layer is built in to the cloud-server layer. You do not need to add this layer to the cloud-server layer. remote-activemq This decorator layer adds the ability to communicate with a remote ActiveMQ broker to the provisioned server, integrating messaging support. The pooled connection factory configuration specifies guest as the value for the user and password attributes. You can use a CLI script to change these values at runtime. This layer is only supported when building a bootable JAR. This layer is not supported when using S2I. sso This decorator layer adds Red Hat Single Sign-On integration to the provisioned server. This layer should only be used when provisioning a server using S2I. web-console This decorator layer adds the management console to the provisioned server. This layer is only supported when building a bootable JAR. This layer is not supported when using S2I. web-clustering This decorator layer adds support for distributable web applications by configuring a non-local Infinispan-based container web cache for data session handling suitable to clustering environments. web-passivation This decorator layer adds support for distributable web applications by configuring a local Infinispan-based container web cache for data session handling suitable to single node environments. This layer is only supported when building a bootable JAR. This layer is not supported when using S2I. webservices This layer adds web services functionality to the provisioned server, supporting Jakarta web services deployments. This layer is only supported when building a bootable JAR. This layer is not supported when using S2I. Additional resources Pooled Connection Factory Attributes

Commands: