第 6 章 功能修剪
构建可引导 JAR 时,您可以决定要包含哪些 JBoss EAP 功能和子系统。
仅 OpenShift 或构建可引导 JAR 时支持功能修剪。
其他资源
6.1. 可用的 JBoss EAP 层
红帽提供了多个层,可用于自定义 OpenShift 中的 JBoss EAP 服务器调配或可引导 JAR。
三个层是提供核心功能的基础层。其他层是解耦器层,使用额外的功能增强基础层。
大多数 decorator 层可用于在 JBoss EAP 中为 OpenShift 构建 S2I 镜像或构建可引导 JAR。些层不支持 S2I 镜像;对层的描述请注意此限制。
仅支持列出的层。不支持此处未列出的层。
6.1.1. 基础层
每个基础层都包含适用于典型服务器用户案例的核心功能。
datasources-web-server
此层包括一个 servlet 容器,以及配置数据源的功能。
此层不包括 MicroProfile 功能。
此层支持以下 Jakarta EE 规格:
- Jakarta JSON 处理 1.1
- jakarta JSON Binding 1.0
- Jakarta Servlet 4.0
- Jakarta Expression Language 3.0
- Jakarta 服务器页面 2.3
- Jakarta Standard Tag Library 1.2
- jakarta Concurrency 1.1
- Jakarta 注释 1.3
- Jakarta XML Binding 2.3
- 雅加达调试支持其他语言 1.0
- Jakarta Transaction 1.3
- Jakarta Connector API 1.7
jaxrs-server
该层通过以下 JBoss EAP 子系统 增强了数据源-web-server
层:
-
jaxrs
-
weld
-
jpa
此层还添加了基于 Infinispan 的第二级实体在容器中进行本地缓存。
此层中包含以下 MicroProfile 功能:
- MicroProfile REST 客户端
除了 datasources-web-server
层所支持的以下 Jakarta EE 规格外,还支持以下 Jakarta EE 规格:
- Jakarta 上下文和依赖注入 2.0
- Jakarta Bean Validation 2.0
- Jakarta Interceptors 1.2
- Jakarta RESTful Web Services 2.1
- Jakarta Persistence 2.2
cloud-server
该层使用以下 JBoss EAP 子系统增强了 jaxrs-server
层:
-
resource-adapters
-
messaging-activemq
(远程代理消息传递,而非嵌入式消息传递)
此层还会在 jaxrs-server
层中添加以下可观察功能:
- MicroProfile Health
- MicroProfile Metrics
- MicroProfile Config
- MicroProfile OpenTracing
除了 jaxrs-server
层支持的以下 Jakarta EE 规格外,还支持以下 Jakarta EE 规格:
- Jakarta 安全 1.0
6.1.2. decorator 层
解码器层不单独使用。您可以使用基础层配置一个或多个 decorator 层,以提供额外的功能。
ejb-lite
这个 decorator 层为调配的服务器添加了一个最小的 Jakarta Enterprise Beans 实施。这个层不包括以下支持:
- IIOP 集成
- MDB 实例池
- 远程连接器资源
只有在构建可引导 JAR 时才支持这一层。使用 S2I 时不支持这个层。
Jakarta Enterprise Beans
这个解码器层扩展了 ejb-lite
层。除了 ejb-lite
层中包含的基本功能外,这个层还会为置备的服务器增加以下支持:
- MDB 实例池
- 远程连接器资源
如果要使用消息驱动型 Bean(MDB)或 Jakarta 企业 Bean 远程功能或两者,可使用此层。如果您不需要这些功能,请使用 ejb-lite
层。
只有在构建可引导 JAR 时才支持这一层。使用 S2I 时不支持这个层。
ejb-local-cache
此 decorator 层向调配的服务器中添加了对 Jakarta 企业 Bean 的本地缓存支持。
依赖项 :您只能在包含 ejb-lite 层或 ejb
层时包括这个 层
。
这个层与 ejb-dist-cache
层不兼容。如果包含 ejb-dist-cache
层,则无法包含 ejb-local-cache
层。如果您同时包含这两个层,生成的构建可能包含意外的 Jakarta Enterprise Beans 配置。
只有在构建可引导 JAR 时才支持这一层。使用 S2I 时不支持这个层。
ejb-dist-cache
此 decorator 层向调配的服务器添加了对 Jakarta 企业 Bean 的分布式缓存支持。
依赖项 :您只能在包含 ejb-lite 层或 ejb
层时包括这个 层
。
这个层与 ejb-local-cache
层不兼容。如果包含 ejb-dist-cache
层,则无法包含 ejb-local-cache
层。如果您同时包含这两个层,则生成的构建可能会导致意外的配置。
只有在构建可引导 JAR 时才支持这一层。使用 S2I 时不支持这个层。
jdr
此解码器层添加了 JBoss 诊断报告(jdr
)子系统,以在请求红帽支持时收集诊断数据。
只有在构建可引导 JAR 时才支持这一层。使用 S2I 时不支持这个层。
Jakarta Persistence
这个解码器层为单节点服务器增加了持久性功能。请注意,只有服务器能够组成集群,分布式缓存才有效。
该层将 Hibernate 库添加到置备的服务器中,并提供以下支持:
-
jpa
子系统的配置 -
配置
infinispan
子系统 - 本地 Hibernate 缓存容器
这个层与 jpa-distributed
层不兼容。如果包含 jpa
层,则无法包含 jpa-distributed
层。
只有在构建可引导 JAR 时才支持这一层。使用 S2I 时不支持这个层。
jpa-distributed
此解码器层为集群中运行的服务器添加持久性功能。该层将 Hibernate 库添加到置备的服务器中,并提供以下支持:
-
jpa
子系统的配置 -
配置
infinispan
子系统 - 本地 Hibernate 缓存容器
- 无效的和复制 Hibernate 缓存容器
-
配置
jgroups
子系统
这个层与 jpa
层不兼容。如果包含 jpa
层,则无法包含 jpa-distributed
层。
只有在构建可引导 JAR 时才支持这一层。使用 S2I 时不支持这个层。
Jakarta Server Faces
此 decorator 层将 jsf
子系统添加到调配的服务器。
只有在构建可引导 JAR 时才支持这一层。使用 S2I 时不支持这个层。
microprofile-platform
此 decorator 层将以下 MicroProfile 功能添加到调配的服务器中:
- MicroProfile Config
- MicroProfile 容错
- MicroProfile Health
- MicroProfile JWT
- MicroProfile Metrics
- MicroProfile OpenAPI
- MicroProfile OpenTracing
此层包含也会包含在 可观察
层中的 MicroProfile 功能。如果包含这个层,则不需要包含 可观察
层。
Observability(可观察性)
这个 decorator 层在置备的服务器中添加以下可观察功能:
- MicroProfile Health
- MicroProfile Metrics
- MicroProfile Config
- MicroProfile OpenTracing
此层内置到 cloud-server
层。您不需要将此层添加到 云服务器层
。
remote-activemq
此 decorator 层添加了与远程 ActiveMQ 代理与调配的服务器通信的功能,从而集成消息传递支持。
池式连接工厂配置将 guest
指定为 用户和
密码
属性的值。您可以使用 CLI 脚本在运行时更改这些值。
只有在构建可引导 JAR 时才支持这一层。使用 S2I 时不支持这个层。
sso
这个解码器层将红帽单点登录集成添加到调配的服务器中。
只有在使用 S2I 调配服务器时,才应使用此层。
web-console
此 decorator 层将管理控制台添加到调配的服务器。
只有在构建可引导 JAR 时才支持这一层。使用 S2I 时不支持这个层。
web-clustering
此decorator 层通过配置基于非本地 Infinispan 的容器 web 缓存来增加对可分布式 Web 应用的支持,以便处理适合集群环境的数据会话。
web-passivation
此后方层通过为适合单一节点环境的数据传输配置基于 Infinispan 的容器 Web 缓存来配置对可分发的 Web 应用的支持。
只有在构建可引导 JAR 时才支持这一层。使用 S2I 时不支持这个层。
Web 服务
此层向调配的服务器添加 Web 服务功能,支持 Jakarta Web 服务部署。
只有在构建可引导 JAR 时才支持这一层。使用 S2I 时不支持这个层。
其他资源