配置 Web 模块类装入器

您可设置控制已安装 Web 模块的类装入行为的值。

准备工作

确保在应用程序服务器上安装了 Web 模块。

有关此任务

配置已安装的 Web 模块的类装入器顺序值。 缺省情况下,Web 模块具有其自己的 Web 应用程序归档 (WAR) 类装入器,以装入 WEB-INF/classesWEB-INF/lib 目录中 Web 模块的内容。

应用程序类装入器是 WAR 类装入器的父代。 应用程序类装入器的 WAR 类装入器策略值确定是使用 WAR 类装入器还是应用程序类装入器来装入 Web 模块的内容。

缺省 WAR 类装入器策略值为 Class loader for each WAR file in application。 如果策略设置为 Class loader for each WAR file in application,那么每个 Web 模块都会接收其自己的类装入器,其父代是应用程序类装入器。 如果策略设置为 Single class loader for application,那么应用程序类装入器将装入与应用程序关联的 Web 模块内容以及企业 Bean (EJB) 模块,共享库,资源适配器归档 (RAR) 文件和依赖关系 Java™ 归档 (JAR) 文件。 因此,父应用程序类装入器的配置影响 WAR 类装入器。 您可以在管理控制台的“类装入和更新检测”页面上设置策略。

使用管理控制台配置应用程序和 WAR 类装入器。

注意: 如果应用程序正在运行,那么更改应用程序设置会导致应用程序重新启动。 在独立服务器上,应用程序在您保存更改后将重新启动。 在多服务器产品上,应用程序将在您保存更改后重新启动,并且在安装应用程序的节点上,文件将同步。 要控制对多服务器产品进行同步的时间,请取消选择控制台首选项页面上的将更改与节点同步

过程

  1. 如果尚未执行此操作,请 配置应用程序类装入器

    覆盖 Web 和 EJB 模块的类重新装入设置已更新文件的轮询时间间隔WAR 类装入器策略之类的设置会影响 Web 模块类装入。

    如果 WAR 类装入器策略 设置为 Class loader for each WAR file in application,那么 Web 模块将接收其自己的类装入器,并且 Web 模块的 WAR 类装入器策略将定义 WAR 类装入器的方式。 如果策略设置为 Single class loader for application,那么应用程序类装入器将装入 Web 模块内容。

  2. 指定已安装 Web 模块的类装入器顺序。

    Web 模块类装入器方式指定类装入器首先在父应用程序类装入器中搜索,还是首先在 WAR 类装入器中搜索,以装入类。 缺省是在 WAR 类装入器搜索前,在父应用程序类装入器中搜索,以装入类。

    1. 通过单击 应用程序 > 应用程序类型 > WebSphere 企业应用程序 > application_name > 管理模块 > module_name,转至要更改其类装入器顺序的 Web 模块。
    2. 类装入器顺序选择以下任一值。

      有关更多信息,请参阅 了解类装入器 Redbooks 出版物,尤其是 更改 WAR 类装入器授权方式 逐步指示信息。

    选项 描述
    类已装入并且是先使用父类装入器 此选项使类装入器将产品提供的类视为优先于 Web 模块中的类。 此方法是 Development Kit 类装入器和 WebSphere® Application Server 类装入器的标准方法。
    优先使用本地类装入器来装入类 此选项使类装入器将 Web 模块中的类视为优先于产品提供的类。 如果同一个类在产品和 Web 模块中都存在,那么将从 Web 模块装入该类。
    注意: 如果指定 Classes loaded with local class loader first 值,并且混合使用了被覆盖的类和未被覆盖的类,那么可能会收到 LinkageErrors 或 ClassCast异常消息。
  3. 单击确定

下一步做什么?

保存对管理配置所作的更改。