配置 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 模組內容,以及與應用程式相關聯的 Enterprise 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 類別載入器中搜尋之前,先在母項應用程式類別載入器中搜尋,來載入類別。

    請選取下列其中一個類別載入器順序值:

    如需相關資訊,請參閱 瞭解類別載入器 Redbooks 出版品,特別是 變更 WAR 類別載入器委派模式 逐步指示。

    選項 說明
    隨母類別載入器優先載入的類別 這個選項會使類別載入器偏好由產品提供的類別,甚於存在於 Web 模組內的類別。 這是 Development Kit 類別載入器和 WebSphere® Application Server 類別載入器的標準方法。
    載入類別時,先使用本端類別載入器 這個選項會使類別載入器偏好存在於 Web 模組內的類別,甚於由產品提供的類別。 如果相同的類別同時存在於產品和 Web 模組中,則會載入 Web 模組中的類別。
    注意: 如果您指定 Classes loaded with local class loader first 值,當您混合使用置換類別和未置換類別時,可能會收到 LinkageErrors 或 ClassCastException 訊息。
  3. 按一下 確定

下一步

將變更儲存在管理配置中。