2.4 容器
容器为 Jakarta EE 应用组件提供运行时支持。容器向应用组件提供底层 Jakarta EE API 的统一视图。Jakarta EE 应用组件之间不会直接交互,而是通过容器的协议和方法彼此通信,并与平台服务进行交互。在应用组件与 Jakarta EE 服务之间插入容器层,使得容器能够透明地注入组件所需的各类服务,例如声明式事务管理、安全校验、资源池化以及状态管理。
典型的 Jakarta EE 产品会为每种应用组件类型提供对应容器:应用客户端容器、Web 组件容器以及企业级 Bean 容器。
2.4.1 容器要求
本规范要求容器支持在 Java™ 运行环境中执行,该环境需符合 Java 平台标准版规范 v17 或更高版本(即 Java SE 17 及以上)的定义。
容器工具必须能够识别用于部署打包的应用组件文件格式。
容器由 Jakarta EE 产品提供商实现,详见“Jakarta EE 产品提供商”中对产品提供商角色的说明。
本规范定义了每套 Jakarta EE 产品必须支持的一组标准服务,这些标准服务将在下文说明。Jakarta EE 容器提供相应 API,供应用组件访问这些服务。本规范同时定义了通过连接器扩展 Jakarta EE 服务的标准方式,以对接其他非 Jakarta EE 应用系统,例如大型主机系统和企业资源规划(ERP)系统。
2.4.2 Jakarta EE 服务器
Jakarta EE 容器的底层依托于其所属的服务器。Jakarta EE 产品提供商通常结合现有事务处理基础设施与 Java 平台标准版(Java SE)技术,实现 Jakarta EE 服务器端功能。Jakarta EE 客户端功能则通常基于 Java SE 技术构建。
