第 6 章 迁移自定义供应商
与 Red Hat Single Sign-On 7.6 类似,自定义供应商通过将自定义供应商复制到部署目录中,以部署到 Keycloak 的红帽构建中。在 Keycloak 的红帽构建中,将您的供应商复制到 供应商
目录中,而不是 独立/部署
,而这不再存在。也应该将其他依赖项复制到 提供程序
目录中。
Red Hat build of Keycloak 不会将单独的类路径用于自定义供应商,因此您可能需要更小心地使用您包括的额外依赖项。此外,不再支持 EAR
和 WAR
打包格式和 jboss-deployment-structure.xml
文件。
虽然 Red Hat Single Sign-On 7.6 会自动发现自定义供应商,但在 Keycloak 运行时支持热部署自定义供应商的功能,但不再支持此行为。另外,在更改 providers
目录中的供应商或依赖项后,您必须进行构建或使用自动构建功能重启服务器。
根据您的提供程序所使用的 API,您可能还需要对提供程序进行一些更改。详情请查看以下部分。
6.1. 从 Java EE 转换到 Jakarta EE
Keycloak 将其代码库从 Java EE (企业版)迁移到 Jakarta EE,从而带来了各种更改。我们已升级了所有 Jakarta EE 规格以支持 Jakarta EE 10,例如:
- Jakarta Persistence 3.1
- Jakarta RESTful Web Services 3.1
- Jakarta Mail API 2.1
- Jakarta Servlet 6.0
- jakarta Activation 2.1
Jakarta EE 10 提供现代化、简化的轻量级方法来构建云原生 Java 应用程序。此计划中提供的主要更改是将命名空间从 javax
prerequisites 改为 jakarta prerequisites
。这个更改不适用于 JDK 中直接提供的 javax
prerequisites 软件包,如 javax.security
,javax.net
,javax.crypto
等等。
此外,不再支持会话/无状态 Bean 等 Jakarta EE API。