Klassenlader für eine Anwendung konfigurieren

Sie können Werte festlegen, die das Klassenladerverhalten einer installierten Unternehmensanwendung steuern. Klassenlader ermöglichen einer Anwendung, auf die Repositorys der verfügbaren Klassen und Ressourcen zuzugreifen.

Vorbereitende Schritte

Dieser Artikel setzt voraus, dass Sie eine Anwendung in einem Anwendungsserver installiert haben.

Informationen zu diesem Vorgang

Sie konfigurieren die Klassenlader einer Unternehmensanwendung, um die Klassenladerrichtlinie und die Moduswerte für die Anwendung festzulegen.

Ein Anwendungsklassenlader gruppiert EJB-Module, gemeinsam genutzte Bibliotheken, RAR-Dateien und abhängige JAR-Dateien, die einer Anwendung zugeordnet sind. JAR-Dateien für Abhängigkeiten sind JAR-Dateien, die Code enthalten, der von Enterprise-Beans und Servlets verwendet werden kann.

Der Klassenlader einer Anwendung ist dem Klassenlader einer WAR-Datei übergeordnet. Standardmäßig hat ein Webmodul einen eigenen WAR-Klassenlader, der den Inhalt des Webmoduls lädt. Der Wert für den WAR-Klassenlader eines Anwendungsklassenladers bestimmt, ob der WAR-Klassenlader oder der Anwendungsklassenlader verwendet wird, um den Inhalt des Webmoduls zu laden.

Verwenden Sie zum Konfigurieren der Klassenlader die Administrationskonsole.

Achtung: Wenn eine Anwendung aktiv ist, bewirkt die Änderung einer Anwendungseinstellung einen Neustart der Anwendung. In eigenständigen Servern wird die Anwendung nach dem Speichern der Änderung erneut gestartet. In Mehrserverprodukten wird die Anwendung erneut gestartet, wenn Sie die Änderung speichern und die Dateien auf dem Knoten, auf dem die Anwendung installiert ist, synchronisieren. Um zu steuern, wann die Synchronisation in Mehrserverprodukten stattfindet, wählen Sie auf der Seite mit den Konsoleneinstellungen die Option Änderungen mit Knoten synchronisieren ab.

Vorgehensweise

  1. Klicken Sie auf Anwendungen > Anwendungstypen > WebSphere-Unternehmensanwendungen > Anwendungsname > Laden von Klassen und Erkennung von Dateiaktualisierungen, um auf die Seite mit den Einstellungen für einen Anwendungsklassenlader zuzugreifen.
  2. Geben Sie an, ob Anwendungsklassen erneut geladen werden sollen, wenn die Anwendung oder ihre Dateien aktualisiert werden.

    Standardmäßig ist das erneute Laden von Klassen nicht aktiviert. Wählen Sie Einstellungen für das erneute Laden von Klassen für Web- und EJB-Module überschreiben aus, damit Anwendungsklassen erneut geladen werden. Sie können für EJB-Module und Webmodule wie Servlets und JSP-Dateien andere Werte angeben.

  3. Geben Sie den Zeitraum an (in Sekunden), in dem das Dateisystem der Anwendung nach aktualisierten Dateien durchsucht wird.

    Der für Abfrageintervall für aktualisierte Dateien angegebene Wert wird nur wirksam, wenn das erneute Laden von Klassen aktiviert ist. Standardmäßig wird der Wert des Attributs "Intervall für erneutes Laden" in der IBM® Erweiterungsdatei (META-INF/ibm-application-ext.xmi) der Unternehmensanwendung (EAR-Datei) verwendet. Sie können für EJB-Module und Webmodule wie Servlets und JSP-Dateien unterschiedliche Werte angeben.

    Zum Aktivieren des erneuten Ladens geben Sie einen ganzzahligen Wert ein, der größer ist als null (z. B. 1 bis 2147483647).

    Wenn Sie das erneute Laden von Klassen inaktivieren möchten, geben Sie null (0) an.

    Unterstützte Konfigurationen Unterstützte Konfigurationen: Bei IBM Erweiterungs- und Bindungsdateien weicht der Name der XMI- oder XML-Datei ab, je nachdem, ob Sie eine Java™ EE-Anwendung bzw. ein Java EE-Modul vor oder nach Version 5 verwenden. Eine IBM Erweiterungs- bzw. Bindungsdatei heißt "ibm-*-ext.xmi" bzw. "ibm-*-bnd.xmi". Das Platzhalterzeichen "*" steht für den Typ der Erweiterungs- oder Bindungsdatei, z. B. "app", "application", "ejb-jar" oder "web". Es gelten die folgenden Bedingungen:
    • Für eine Anwendung oder ein Modul, die bzw. das Java EE vor Version 5 verwendet, muss die Dateierweiterung ".xmi" sein.
    • Für eine Anwendung oder ein Modul, die bzw. das Java EE ab Version 5 verwendet, muss die Dateierweiterung ".xml" sein. Wenn Dateien mit der Erweiterung ".xmi" in der Anwendung oder im Modul enthalten sind, werden diese vom Produkt ignoriert.

    Ein Modul von Java EE Version 5 oder einer höheren Version kann jedoch in einer Anwendung, die Dateien einer älteren Java EE-Version als Version 5 enthält, koexistieren.

    Die Dateien ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi und ibm-portlet-ext.xmi können die Dateierweiterung ".xmi" weiterhin verwenden.

    sptcfg
  4. Geben Sie die Reihenfolge der Klassenlader für die Anwendung an.

    Die Reihenfolge der Anwendungsklassenlader gibt an, ob der Klassenlader zuerst im übergeordneten Klassenlader oder im Klassenlader der Anwendung suchen soll, um eine Klasse zu laden. Der Standardwert sieht vor, dass zuerst im übergeordneten Klassenlader und dann im Klassenlader der Anwendung gesucht werden soll, um eine Klasse zu laden.

    Wählen Sie einen der folgenden Werte für Reihenfolge der Klassenlader aus:

    Option Bezeichnung
    Mit dem übergeordneten Klassenlader geladene Klassen zuerst Diese Einstellung bewirkt, dass der Klassenlader zum Laden einer Klasse erst den übergeordneten Klassenlader durchsucht. Diese Einstellung wird standardmäßig für die Klassenlader von Development Kit und WebSphere Application Server verwendet.
    Mit dem lokalen Klassenlader geladene Klassen zuerst (übergeordneter zuletzt) Diese Einstellung bewirkt, dass der Klassenlader zum Laden einer Klasse erst den Anwendungsklassenlader durchsucht. Wenn Sie Mit dem lokalen Klassenlader geladene Klassen zuerst (übergeordneter zuletzt) angeben, kann Ihre Anwendung Klassen überschreiben, die im übergeordneten Klassenlader enthalten sind.
    Fehler vermeiden Fehler vermeiden: Wenn Sie Mit dem lokalen Klassenlader geladene Klassen zuerst (übergeordneter zuletzt) angeben, können Nachrichten vom Typ LinkageErrors oder ClassCastException ausgegeben werden, wenn Sie überschriebene Klassen und nicht überschriebene Klassen gemischt verwenden.gotcha
  5. Geben Sie an, ob Sie einen oder mehrere Klassenlader verwenden möchten, um die WAR-Dateien Ihrer Anwendung zu laden.

    Standardmäßig haben Webmodule eigene WAR-Klassenlader, um den Inhalt der Verzeichnisse WEB-INF/classes und WEB-INF/lib zu laden. Der Standardwert für den WAR-Klassenlader ist Klassenlader für jede WAR-Datei der Anwendung, d. h., für jede WAR-Datei wird ein eigener Klassenlader verwendet. Wenn Sie diese Einstellung auf Einzelner Klassenlader für gesamte Anwendung setzen, lädt der Anwendungsklassenlader den Inhalt des Webmoduls sowie die EJB-Module, die gemeinsam genutzten Bibliotheken, RAR-Dateien und abhängigen JAR-Dateien, die der Anwendung zugeordnet sind. Der Anwendungsklassenlader ist dem WAR-Klassenlader übergeordnet.

    Wählen Sie für Klassenladerrichtlinie für WAR-Dateien einen der folgenden Werte aus:

    Option Bezeichnung
    Klassenlader für jede WAR-Datei der Anwendung Für jede WAR-Datei wird ein anderer Klassenlader verwendet.
    Einzelner Klassenlader für gesamte Anwendung Für alle WAR-Dateien in der Anwendung wird ein einziger Klassenlader verwendet.
  6. Klicken Sie auf OK.

Nächste Schritte

Speichern Sie die Änderungen in der Verwaltungskonfiguration.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=trun_classload_entapp
Dateiname:trun_classload_entapp.html