In manchen Situationen sind die Traceinformationen, die von den mit
WebSphere Application Server
bereitgestellten JPA-Providern generiert werden, möglicherweise nicht
geeignet, um ein Problem zu diagnostizieren.
In diesen Situationen kann ein Mechanismus für erweiterte Traceerstellung aktiviert werden, um
zusätzliche Informationen zur Tracedatei zu generieren.
Die erweiterte Traceerstellung funktioniert nur mit den von IBM bereitgestellten
Persistenzprovidern.
Sie funktioniert nicht mit Providern anderer Anbieter, auch nicht mit alternativen Versionen von
OpenJPA, die in einer Anwendung gepackt oder als gemeinsam genutzte Bibliothek konfiguriert sind.
Informationen zu diesem Vorgang
Anmerkung: Dieser Artikel referenziert eine oder mehrere Protokolldateien des Anwendungsservers. Alternativ dazu wird empfohlen, den Server
so zu konfigurieren, dass er die HPEL-Protokoll- und -Traceinfrastruktur (High Performance Extensible Logging) verwendet und nicht die Dateien SystemOut.log , SystemErr.log,
trace.log und activity.log auf verteilten oder IBM® i-Systemen. Sie können HPEL auch in Verbindung
mit Ihren nativen z/OS-Protokolleinrichtungen verwenden. Wenn Sie HPEL verwenden, können Sie
mit dem Befehlszeilentool LogViewer im Verzeichnis "bin" des Serverprofils auf alle Ihre Protokoll- und Tracedaten zugreifen. Weitere Informationen zur Verwendung von
HPEL finden Sie in der Dokumentation zum Einsatz von HPEL für die Fehlerbehebung in Anwendungen.
Die
erweiterte JPA-Traceerstellung für eine Anwendung, die in
WebSphere Application
Server ausgeführt wird, kann mit einigen einfachen Schritten mithilfe von
wsadmin-Scripting oder über die Administrationskonsole aktiviert werden.
Die Schritte in diesem Artikel beschreiben, wie die erweiterte Traceerstellung über die Administrationskonsole ausgeführt wird.
Dieser Prozess ändert Servereinstellungen. Deshalb empfiehlt es sich, zuvor die Serverkonfiguration zu sichern.
Vorgehensweise
- Aktivieren Sie den Traceagent. Ein Traceagent muss pro Anwendungsserver aktiviert werden, indem ein
Argument an die Server-JVM übergeben wird. Der Traceagent kann mit der Administrationskonsole aktiviert werden. Führen Sie dazu die folgenden Schritte aus:
- Wählen Sie im Navigationsfenster Server aus.
Wählen Sie Anwendungsserver aus.
- Wählen Sie im Fenster mit der Serverliste den Server aus, für den ein erweiterter JPA-Trace erforderlich ist.
Wenn mehrere Server die JPA-Funktionalität für Ihre Anwendung bereitstellen, müssen diese Schritte auf jedem Server ausgeführt werden.
- Wählen Sie unter "Serverinfrastruktur" den Eintrag Java- und Prozessverwaltung aus. Wählen Sie
Prozessdefinition aus.
- Wählen Sie unter der Überschrift "Weitere Eigenschaften" den Eintrag
Java Virtual Machine aus.
- Fügen Sie den generischen JVM-Argumenten das folgende Argument hinzu, wobei
<Stammverzeichnis_des_Anwendungsservers> für den vollständig qualifizierten
Pfad des Installationsverzeichnisses des Anwendungsservers steht.
Achten Sie darauf, dass Sie das Pfadtrennzeichen verwenden, das für Ihr Betriebssystem geeignet ist.
-javaagent:<Stammverzeichnis_des_Anwendungsservers>/optionalLibraries/IBM/wsjpa/wsjpatrace.jar
Wichtig: Die Verwendung generischer JVM-Argumente in der Administrationskonsole
unterstützt derzeit keine Leerzeichen in den Argumenten.
Werden in diesem Feld Leerzeichen angegeben, kann der Server möglicherweise nicht starten.
Diese Situation tritt am ehesten in einer Windows-Umgebung auf,
weil der
Standardinstallationspfad
C:\Program Files\IBM\WebSphere\AppServer
ein Leerzeichen im Pfad enthält.
Sie können dieses Problem in einer
Windows-Umgebung umgehen, indem Sie einen abgekürzten Pfadnamen
für <Stammverzeichnis_des_Anwendungsservers> verwenden, z. B.
C:\Progra~1\IBM\WebSphere|AppServer.
Auf UNIX-Systemen können Sie eine symbolische Verbindung verwenden, um Leerzeichen im
<Stammverzeichnis_des_Anwendungsservers> zu umgehen.
Wenn der Installationspfad von WebSphere Application
Server beispielsweise /opt/Stammverzeichnis des Anwendungsservers/AppServer lautet, kann eine symbolische
Verbindung in /opt von <Stammverzeichnis des Anwendungsservers> zu
AppServerRoot erstellt werden, um die Leerzeichen zu umgehen.
Geben Sie anschließend /opt/AppServerRoot/AppServer als <Stammverzeichnis_des_Anwendungsservers> im generischen
JVM-Argument an.
- Aktivieren Sie zusätzliche Tracekomponenten, und passen Sie die Optionen in der Tracedatei an. Sie können diesen Schritt mit wsadmin-Scripting
oder in der Administrationskonsole ausführen. Die folgenden Schritte beschreiben, wie Sie über die Administrationskonsole die Einstellungen für die Tracedatei anpassen
und Komponenten aktivieren:
- Wählen Sie im Navigationsfenster den Eintrag Fehlerbehebung aus.
Klicken Sie auf Protokolle und Trace.
- Wählen Sie den Namen des Servers aus, für den ein Trace erstellt werden soll.
- Wählen Sie unter Allgemeine Eigenschaften den Eintrag Diagnosetrace aus.
- Stellen Sie sicher, dass Protokoll aktivieren ausgewählt ist, und erhöhen Sie
optional die Werte für Maximale Dateigröße und Maximale Anzahl an Protokolldateien.
Abhängig von der Anzahl zusätzlicher Tracekategorien und Tracestufen, die Sie auswählen,
kann die Tracedatei groß werden.
- Wählen Sie unter der Überschrift "Weitere Eigenschaften" den Eintrag
Detailstufe für Protokoll ändern aus.
- Aktivieren Sie ein oder mehrere Tracekategorien, indem Sie eine oder mehrere Tracekategorien in der folgenden Tabelle auswählen.
Eine Tracezeichenfolge kann beispielsweise wie folgt aussehen:
*=info:JPA=all:openjpa.*=finer:openjpa.kernel=finest. Erweiterte Traces erstellen Traces auf den Tracestufen
FINER oder FINEST. Die Tracestufe FINEST enthält detailliertere Informationen als die Tracestufe
FINER. Bei Angabe von
ALL erstellt der erweiterte Trace Traces auf der Tracestufe FINEST.
Tabelle 1. Tracekategorien. Sichern Sie Ihre Serverkonfiguration, bevor Sie die erweiterte Traceerstellung aktivieren. Kategorie |
Relevante Tracestufen |
Beschreibung |
JPA |
OFF, ALL, FINER, FINEST |
Fügt den erweiterten Trace der JPA-Tracegruppe hinzu. |
openjpa.* |
OFF, ALL, FINER, FINEST |
Ein normaler
OpenJPA-Trace wird zusätzlich zum erweiterten Trace für alle Kategorien
in OpenJPA erstellt, wenn der erweiterte Trace aktiviert ist. |
openjpa.xtrace.* |
OFF, ALL, FINER, FINEST |
Ein erweiterter Trace wird für alle Kategorien
in OpenJPA erstellt, wenn der erweiterte Trace aktiviert ist. |
openjpa.xtrace.Jdbc |
OFF, ALL, FINER, FINEST |
Ein erweiterter Trace wird für OpenJPA-JDBC-Klassen erstellt, wenn der erweiterte Trace aktiviert ist. |
openjpa.xtrace.Lib |
OFF, ALL, FINER, FINEST |
Ein erweiterter Trace wird für OpenJPA-Bibliotheksklassen erstellt, wenn der erweiterte Trace aktiviert ist. |
openjpa.xtrace.Persist |
OFF, ALL, FINER, FINEST |
Ein erweiterter Trace wird für OpenJPA-Persistenzklassen erstellt, wenn der erweiterte Trace aktiviert ist. |
openjpa.xtrace.Kernel |
OFF, ALL, FINER, FINEST |
Ein erweiterter Trace wird für OpenJPA-Kernelklassen erstellt, wenn der erweiterte Trace aktiviert ist. |
openjpa.xtrace.General |
OFF, ALL, FINER, FINEST |
Ein erweiterter Trace wird für
OpenJPA-Klassen erstellt, die nicht in den Kategorien
JDBC, Lib, Persist oder Kernel enthalten sind, wenn der erweiterte Trace aktiviert ist. |
openjpa.xtrace.ApiSpi |
OFF, ALL, FINER, FINEST |
Erweiterer Trace für allgemein zugängliche APIs/SPIs, die für
WsJPA, OpenJPA und JPA definiert sind, wenn der erweiterte Trace aktiviert ist. |
- Speichern Sie die Konfiguration des Anwendungsservers, und starten Sie den Anwendungsserver anschließend erneut.
Ergebnisse
Nach dem Neustart des Anwendungsservers werden die neuen Traceeinstellungen verwendet.
Nächste Schritte
Fehler vermeiden: Die Traceerstellung kann die Leistung erheblich vermindern und sollte inaktiviert werden, wenn sie nicht
benötigt wird.
Zum Inaktivieren des Trace müssen Sie das
generische JVM-Argument und alle für die erweiterte Traceerstellung hinzugefügten Tracedetailstufen entfernen.
gotcha