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.
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.
- Klicken Sie auf , um auf die
Seite mit den Einstellungen für einen Anwendungsklassenlader zuzugreifen.
- 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.
- 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: 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
- 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: 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
|
- 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. |
- Klicken Sie auf OK.
Nächste Schritte
Speichern Sie die Änderungen in der Verwaltungskonfiguration.