Liberty:零迁移体系结构
使用 Liberty 零迁移体系结构,您可以移动到 Liberty 的最新版本,同时最大程度降低对当前应用程序和配置的影响。
零迁移体系结构表示您可以将现有的未修改配置和应用程序文件与 Liberty 运行时环境的最新版本配合使用,同时不会出现不需要或非预期行为更改。针对体系结构的以下两个方面,几乎从来不需要进行更改:
- 产品版本之间的完全兼容性
- 您可以更新 Liberty,而不迁移配置文件。
- 可插拔功能部件
- 在新产品版本中支持现有 API 和行为,在新功能部件中添加了新 API 和行为。
用户配置文件
Liberty 运行时环境从不会修改用户配置文件,这些文件在两个版本之间完全兼容。 您可以在多个版本中使用单个版本的配置文件。为 Liberty 的先前版本创建的文件可与更高版本配合使用。为更高版本创建的文件可与先前版本配合使用。因此,如果安装了所有配置的功能部件,那么可在多个版本中使用一组配置文件而不进行修改。将忽略任何不适用于特定版本的 Liberty 运行时环境的配置设置。
用户应用程序
Liberty 运行时环境使用可插拔功能部件支持 API 的多个版本。例如,支持 Servlet 3.0 和 3.1 规范。仅新功能部件版本中会发生 API 行为更改,因此可选择适用于应用程序的相应功能部件版本。在 Liberty 更新中,这些版本化功能部件继续受支持。如果继续使用相同功能部件版本,那么永远都不需要迁移您的应用程序。
例如,如果应用程序使用 Servlet 3.0,那么运行应用程序的 Liberty 服务器必须具有 servlet-3.0 功能部件。您可以更新 Liberty,从而可无限期继续使用 servlet-3.0 功能部件,与支持多少个其他 Servlet 规范级别无关。仅当需要改为使用 servlet-3.1 功能部件时,才需要迁移应用程序。

如果使用第三方 API,请注意在更新 Liberty 时,可更改或除去这些 API。第三方 API 通过 Liberty 功能部件向应用程序公开。Liberty 不控制也不保证与这些 API 的先前版本的兼容性。 一些可用于应用程序的 API 不由 Liberty 功能部件提供,不会从此设计受益,因此可能需要修改应用程序代码。例如,可能需要更新底层 Java™ SDK 提供的 Java API。有时,可能需要更新 Java SDK 的版本。通过使用 Migration Toolkit for Application Binaries 和 WebSphere Application Server Migration Toolkit 对应用程序扫描任何所需更改,而不是手动收集信息和迁移应用程序。要下载工具箱并获取更多信息,请参阅 WASdev 上的“迁移”一文。
使用新功能部件
如果要使用新功能部件,请考虑以下问题:
- 新功能部件如何影响现有应用程序?
- 已在使用的新版本功能部件可能会影响现有应用程序。 例如,如果当前使用 Servlet 3.0 且需要使用 Servlet 3.1,那么可能需要更改现有 servlet 应用程序,以使其与 Servlet 3.1 一起正确运行。修改应用程序,以使其与新功能部件版本一起运行,或将应用程序保留在使用原始功能部件版本 (Servlet 3.0) 配置的服务器中,并使用适用于新应用程序的新版本创建服务器配置。
- 新功能部件是否与现有功能部件兼容?
- 本产品支持在不同版本的 Java EE 中混合使用一些功能部件,但是尽可能保持遵循一个版本的 Java EE 规范将更为简单。一些功能部件配置为处于相同服务器上且对其版本较为敏感时,可紧密地相互进行交互。 例如,很多 Java EE 功能部件与上下文和依赖性注入 (CDI) 的功能部件紧密关联,且仅用于此功能部件的特定版本。如果向配置添加功能部件,那么可能需要更改您已在使用的其他功能部件的版本。有关更多信息,请参阅“受支持的 Java EE 6 和 7 功能部件组合”。
- 新功能部件是否需要其他配置更改?
- 一些功能部件需要特定版本的必备软件,最常见的是 Java SDK。例如,Java EE 7 功能部件至少需要 Java V7。 因此,向服务器配置添加 Java EE 7 功能部件可能需要移动到 JavaSDK 7 或更高版本。
零迁移例外情况
- 安全性修订
- 如果需要与安全性相关的修订,但无法在保留现有行为的情况下安全地执行此修订,那么可能需要修改应用程序或配置。
- 第三方 API 需求
- 本产品不控制来自第三方类装入器配置的 API。因此,更新第三方组件不保证与先前版本的兼容性。
- 除去支持
- Liberty 继续支持本产品影响用户数据的部件,但有时需要撤销某个功能部件或受支持的软件产品。通常,用户至少会提前两年收到除去通知。但是,当其他软件供应商早于 Liberty 除去对其产品的支持时,无法实现此类提前通知。注意您正用于 Liberty 安装的第三方产品及其生命周期日期。有关可在将来除去的项的信息,请参阅“除去通知”。