MicroProfile 5.0与Jakarta EE 9.1和MicroProfile OpenAPI在21.0.0.12-beta中对多模块应用的支持保持一致。

237 阅读6分钟

Open Liberty 21.0.0.12-beta支持MicroProfile 5.0的一些功能,以与Jakarta EE 9.1保持一致,允许你将MicroProfile与Jakarta EE 9.1应用程序一起使用。这个版本还具有对MicroProfile OpenAPI的更新,因为它提供了对多个应用程序的支持。

我们为Open Liberty准备了两个测试包。

  • 所有测试版功能:一个较大的包,包含所有Open Liberty的测试版功能(包括Jakarta EE 9测试版功能)和GA的特性和功能。

  • Jakarta EE 9测试版功能:一个轻量级的包,只包含Jakarta EE 9的功能。

这意味着你现在可以尝试我们正在开发的Open Liberty功能,只需在你的构建工具中添加相关的坐标。

如果你尝试了这两个包,让我们知道你的想法

所有测试版功能包

所有测试版功能包包括以下测试版功能。

MicroProfile JWT 2.0

在这个测试版中,MicroProfile JSON Web Token 2.0功能在Jakarta包名中用jakarta 替换了javax ,允许它用于Jakarta EE 9.1应用程序。旧的MicroProfile JSON Web Token 1.2功能不提供对Jakarta EE 9.1应用程序的支持。启用mpJwt-2.0 ,而不是mpJwt-1.2 ,将允许这些应用程序使用MicroProfile JSON Web Token 2.0功能。

你可以通过在server.xml文件中使用mpJwt-2.0 功能来启用MicroProfile JSON Web Token 2.0功能。

<featureManager>
  <feature>mpJwt-2.0</feature>
</featureManager>

mpJwt 元素的所有属性和MP JWT 1.2规范中的所有当前MP配置属性都保持不变。

要了解更多信息,请访问。

MicroProfile Health 4.0

该功能mpHealth-4.0 ,是Eclipse MicroProfile Health 4.0版本的实现,它与Jakarta EE 9.1相一致。该特性在Jakarta包名中用jakarta替换了javax,使其可以用于Jakarta EE 9.1的应用。有了这个特性,你可以在Jakarta EE 9.1中使用MicroProfile,而在之前的版本中,MicroProfile Health是针对Java EE平台的,不提供对Jakarta EE 9.1应用的支持。

你可以通过使用server.xml文件中的mpHealth-4.0 功能来启用MicroProfile Health 4.0功能。

<featureManager>
  <feature>mpHealth-4.0</feature>
</featureManager>

要了解更多信息,请访问。

MicroProfile Metrics 4.0

MicroProfile Metrics 4.0功能是Eclipse MicroProfile Metrics 4.0版本的实现。这个版本(和功能)在Jakarta包名中用jakarta 替换了javax ,允许它用于Jakarta EE 9.1应用程序。之前的MicroProfile度量标准的版本是针对Java EE或Jakata EE 8平台的版本。这个最新的v4.0版本与Jakarta EE 9.1平台版本相一致。

你可以通过在server.xml文件中使用mpMetrics-4.0 ,启用MicroProfile度量4.0功能。

<featureManager>
  <feature>mpMetrics-4.0</feature>
</featureManager>

要了解更多信息,请访问: *MicroProfile Metrics 4.0规范*MicroProfile Metrics 4.0发布页*发布说明

MicroProfile开放API 3.0

这个功能mpOpenAPI-3.0 ,是MicroProfile OpenAPI 3.0的实现,它与Jakarta EE 9.1一致。有了这个特性,你可以在Jakarta EE 9.1中使用MicroProfile Open API。

你可以通过使用server.xml文件中的mpOpenAPI-3.0 功能来启用MicroProfile Open API 3.0功能。

<featureManager>
  <feature>mpOpenAPI-3.0</feature>
</featureManager>

要了解更多信息,请访问: *MicroProfile OpenAPI 3.0规范*MicroProfile OpenAPI 3.0发布页*发布说明

MicroProfile Fault Tolerance 4.0

这个功能mpFaultTolerance-4.0 ,是MicroProfile Fault Tolerance 4.0的实现,它与Jakarta EE 9.1保持一致。有了这个特性,你可以将MicroProfile与Jakarta EE 9.1一起使用。

你可以通过使用server.xml文件中的mpFaultTolerance-4.0 功能来启用MicroProfile Fault Tolerance 4.0功能。

<featureManager>
  <feature>mpFaultTolerance-4.0</feature>
</featureManager>

要了解更多信息,请访问: *MicroProfile Fault Tolerance 4.0 Specification*MicroProfile Fault Tolerance 4.0 Release Page*Release Notes

MicroProfile配置3.0

这个功能mpConfig-3.0 ,是MicroProfile配置3.0的实现,它与Jakarta EE 9.1一致。有了这个特性,你可以把MicroProfile和Jakarta EE 9.1一起使用。

你可以通过使用server.xml文件中的mpConfig-3.0 功能来启用MicroProfile配置3.0功能。

<featureManager>
  <feature>mpConfig-3.0</feature>
</featureManager>

要了解更多信息,请访问: *MicroProfile Config 3.0 Specification*MicroProfile Config 3.0 Release Page*Release Notes

在mpOpenApi-2.0中支持多个应用程序

MicroProfile OpenAPI通过创建和提供OpenAPI格式的文档来帮助你记录应用程序的REST端点。

MicroProfile OpenAPI现在可以为一个以上的应用程序创建OpenAPI文档。以前,只有包含JAX-RS应用程序的第一个部署的Web模块会被记录下来。当两个或多个包含 JAX-RS 应用程序的 Web 模块被部署时,MicroProfile OpenAPI 功能现在可以为每个模块创建文档,然后将这些文档合并在一起。

要启用这个功能,你必须设置MicroProfile配置属性mp.openapi.extensions.liberty.merged.include=all ,例如,将此添加到你的server.xml

<variable name="mp.openapi.extensions.liberty.merged.include" value="all"/>

设置了这个属性后,部署几个JAX-RS应用程序,并访问你的Open Liberty服务器上的/openapi/ui ,你应该能看到所有应用程序的文档。

以下 MP 配置属性可用于配置此功能。

名称说明默认值价值
mp.openapi.extensions.liberty.merged.include

|

应该包括在合并的OpenAPI文档中的模块列表

|

first

|

  • all (包括所有的应用程序)

  • first (只包括第一个部署的网络模块,与之前的行为相匹配)。

  • 以逗号分隔的<appname> (包括个别应用程序)和<appname>/<modulename> (包括EAR中的个别模块)的列表

| |

mp.openapi.extensions.liberty.merged.exclude

|

  • 应从合并的OpenAPI文档中排除的模块列表

  • 优先于包含的模块列表

|

none

|

  • none (不包括任何东西)

  • 逗号分隔的(排除个别应用程序)和/(排除EAR中的个别模块)的列表。

| |

mp.openapi.extensions.liberty.merged.info

|

此属性设置最终开放API文档的信息部分

|

不适用

|

  • 该值必须是一个有效的JSON格式的OpenAPI信息部分。如果这个属性被设置,最终OpenAPI文档中的信息部分会被替换成该属性的值。这个替换是在任何合并完成后进行的。

|

现在就试试吧

要尝试这些功能,只需更新你的构建工具,拉出Open Liberty所有测试版功能包,而不是主版本。该测试版适用于Java SE 17、Java SE 11或Java SE 8。

如果你使用Maven,这里有坐标。

<dependency>
  <groupId>io.openliberty.beta</groupId>
  <artifactId>openliberty-runtime</artifactId>
  <version>21.0.0.12-beta</version>
  <type>pom</type>
</dependency>

或者对于Gradle

dependencies {
    libertyRuntime group: 'io.openliberty.beta', name: 'openliberty-runtime', version: '[21.0.0.12-beta,)'
}

或者看一下我们的下载页面

Jakarta EE 9测试版功能包

Open Liberty是自21.0.0.2-beta版本以来第一个兼容Jakarta EE Web Profile 9.0的厂商产品。随着21.0.0.3-beta的发布,Open Liberty也是第一个被添加到Jakarta EE平台9.0兼容性列表的供应商产品。 该测试版随后也被用来将Open Liberty添加到Jakarta EE平台9.1的兼容性列表中。 Open Liberty 21.0.0.6-beta通过包含新的Jakarta EE9支持功能进一步扩展了这种兼容性,21.0.0.12-beta提供了与Jakarta EE9相同的兼容性,并在性能上有所增强。

在你的应用程序的server.xml 中启用Jakarta EE 9测试版的功能。你可以启用你想要的单个功能,或者你可以直接添加Jakarta EE 9便利功能来一次性启用所有Jakarta EE 9测试版功能。

  <featureManager>
    <feature>jakartaee-9.0</feature>
  </featureManager>

或者你可以添加Web Profile便利功能来一次性启用所有的Jakarta EE 9 Web Profile测试版功能。

  <featureManager>
    <feature>webProfile-9.0</feature>
  </featureManager>

现在就试试吧

要在Open Liberty上尝试这些轻量级的Jakarta EE 9功能,只需更新你的构建工具,拉出Open Liberty Jakarta EE 9 Beta功能包,而不是主版本。该测试版适用于Java SE 17、Java SE 11或Java SE 8。

如果你使用Maven,这里有坐标。

<dependency>
    <groupId>io.openliberty.beta</groupId>
    <artifactId>openliberty-jakartaee9</artifactId>
    <version>21.0.0.12-beta</version>
    <type>zip</type>
</dependency>

或者对于Gradle

dependencies {
    libertyRuntime group: 'io.openliberty.beta', name: 'openliberty-jakartaee9', version: '[21.0.0.12-beta,)'
}

或者看一下我们的下载页面

欢迎你的反馈

请在我们的邮件列表中告诉我们你的想法。如果你遇到了问题,请在StackOverflow上发表问题。如果你遇到了一个错误,请提出一个问题