2.4. 标准迁移路径
下面的部分论述了在将应用程序迁移到红帽构建的 Apache Camel for Spring Boot 之前可以考虑的标准迁移路径。
2.4.1. XML 路径 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
使用 Spring XML 或 Blueprint XML 编写的 Fuse 应用程序应迁移到基于 XML 的类别,并可以 Spring Boot 或 Quarkus 运行时为目标,且迁移步骤没有区别。
2.4.2. Java Path 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
使用 Java DSL 编写的 Fuse 应用程序应迁移到基于 Java 的类别,并可以 Spring Boot 或 Quarkus 运行时为目标,且迁移步骤没有区别。
2.4.3. 架构更改 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
迁移应用程序时请考虑以下架构更改:
- 如果您的 Fuse 6 应用程序依赖于 Fabric8 服务发现,则应在 OpenShift 上运行 Camel 3 时使用 Kubernetes 服务发现。
- 如果您的 Fuse 6 应用程序依赖于 OSGi 捆绑包配置,则应在 OpenShift 上运行 Camel 3 时使用 Kubernetes ConfigMap 和 Secret。
- 如果您的应用程序使用基于文件的路由定义,在 OpenShift 上运行 Camel 3 时请考虑使用 AWS S3 技术。
- 如果您的应用程序使用标准文件系统,则生成的 Spring Boot 或 Quarkus 应用程序应部署到标准 RHEL 虚拟机上,而不是 Openshift 平台。
- 将 Inbound HTTPS 连接到处理 SSL 要求的 Openshift 路由器。
- Hystrix 功能委派到 Service Mesh。
2.4.4. javax 到 jakarta Package Namespace Change 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Java EE 移至 Eclipse Foundation 和 Jakarta EE 的建立,因为用于所有 EE API 的 Jakarta EE 9 软件包已改为 jakarta …
文档中的代码片段已更新为使用 jakarta 输入命名空间,但您需要小心操作并查看您自己的应用程序。
注意
这个更改不会影响作为 Java SE 一部分的 javax 软件包。
将应用迁移到 EE 10 时,您需要:
-
将任何导入语句或其他源代码使用来自
javax软件包中的 EE API 类更新到jakarta。 -
更改任何以
javax.开头的 EE 指定的系统属性或其他配置属性,使其以jakarta开头。 -
使用
META-INF/services/jakarta.[rest_of_name]名称格式来识别使用实施 EE 接口或通过java.util.ServiceLoader机制引导的应用程序中的实施类。
2.4.5. 迁移工具 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
- 源代码迁移: 如何使用 Red Hat Migration Toolkit for Auto-Migration of Application to the Jakarta EE 10 命名空间
- bytecode 转换:对于源代码迁移不是选项的情况,开源 Eclipse Transformer
其他资源