Fehlerbehebung bei Klassenladern

Klassenlader suchen und laden Klassendateien. Damit eine implementierte Anwendung ordnungsgemäß ausgeführt werden kann, müssen die Klassenlader für die Anwendung und die Anwendungsmodule so konfiguriert sein, dass die Anwendung die Dateien und Ressourcen, die sie benötigt, finden kann. Die Diagnose von Fehlern bei Klassenladern kann kompliziert und zeitintensiv sein. Um Fehler schneller diagnostizieren und beheben zu können, können Sie mit der Anzeigefunktion für Klassenlader in der Administrationskonsole die Klassenlader und die von den einzelnen Klassenladern geladenen Klassen untersuchen.

Vorbereitende Schritte

Dieser Artikel setzt voraus, dass Sie eine Anwendung in einem vom Produkt unterstützten Server installiert haben und die von der Anwendung oder den Anwendungsmodulen verwendeten Klassenlader untersuchen möchten. Die Module können Webmodule (.war-Dateien) oder EJB-Module (.jar-Dateien) sein. Mit der Anzeigefunktion für Klassenlader können Sie die Klassenlader in einer Laufzeitumgebung untersuchen.

Dieser Artikel setzt voraus, dass Sie die Anzeigefunktion für Klassenlader aktiviert haben. Klicken Sie auf Server > Servertypen > WebSphere-Anwendungsserver > Servername > Anzeigeservice für Klassenlader, aktivieren Sie den Service, und starten Sie den Server erneut.

Informationen zu diesem Vorgang

Die Laufzeitumgebung von WebSphere Application Server verwendet in der angegebenen Reihenfolge die folgenden Klassenlader zum Suchen und Laden neuer Klassen für eine Anwendung:

  1. Die von der JVM erstellten Klassenlader für Bootstrap, Erweiterungen und Klassenpfad.
  2. Ein Klassenlader für WebSphere-Erweiterungen.
  3. Ein oder mehrere Klassenlader für Anwendungsmodule, die Elemente der im Server ausgeführten Unternehmensanwendungen laden.
  4. Null oder mehrere Klassenlader für Webmodule
Klassenladerhierarchie

Jeder Klassenlader ist ein Kind des übergeordneten Klassenladers. Das heißt, die Klassenlader für Anwendungsmodule sind dem Klassenlader für WebSphere-Erweiterungen untergeordnet, und dieser ist wiederum dem Java-Klassenlader für Klassenpfade untergeordnet. Immer wenn Klassen geladen müssen, delegiert der Klassenlader normalerweise die Anforderung an seinen übergeordneten Klassenlader. Wenn keiner der übergeordneten Klassenlader die Klasse findet, versucht der ursprüngliche Klassenlader die Klasse zu laden. Anforderungen können nur an einen übergeordneten Klassenlader übertragen werden, nicht an einen untergeordneten. Sobald eine Klasse vom Klassenlader geladen wurde, verwenden alle neuen Klassen, die er zu laden versucht, wieder denselben Klassenlader, oder Sie gehen in der Präzedenzliste nach oben, bis die Klasse gefunden wird.

Wenn die Klassenlader, die die Artefakte einer Anwendung laden, nicht richtig konfiguriert sind, löst die JVM möglicherweise eine Ausnahme beim Laden von Klassen aus, wenn diese Anwendung gestartet oder ausgeführt wird. Im Artikel Ausnahmen beim Laden von Klassen werden die Typen von Ausnahmen beschrieben, die aufgrund nicht korrekt konfigurierter Klassenlader auftreten können, und zeigt Methoden auf, anhand derer Sie mit der Anzeigefunktion für Klassenlader Klassenladerkonfigurationen korrigieren können. Die folgenden Ausnahmen können auftreten:

Verwenden Sie die Anzeigefunktion für Klassenlader, um Klassenlader zu untersuchen und Fehler in Anwendungs- und Klassenladerkonfigurationen zu korrigieren.

Vorgehensweise

Nächste Schritte

Sollten weiterhin Probleme bei Ihren Klassenladern auftreten, lesen Sie die Artikel Ausnahmen beim Laden von Klassen und Klassen laden.


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=ttrb_classload_viewer
Dateiname:ttrb_classload_viewer.html