JRas-Framework (veraltet)
Da die JRas-Erweiterungsklassen für viele Szenarios nicht die benötigte Flexibilität und das gewünschte Verhalten bieten, wurde eine Vielzahl von Erweiterungspunkten definiert. Sie können eigene Implementierungsklassen schreiben, um das gewünschte Verhalten zu erreichen.
Keine weitere Unterstützung: Das in diesem Artikel beschriebene JRas-Framework wird nicht weiter unterstützt. Sie können jedoch ähnliche Ergebnisse mit der Java™-Protokollierung erzielen.
Im Allgemeinen setzen die JRas-Erweiterungen voraus, dass die Klasse Manager aufgerufen wird, um eine Nachrichten- oder Traceprotokollfunktion anzufordern. Es ist nicht vorgesehen, dass Benutzer ihre eigenen Unterklassen für Nachrichten- oder Traceprotokollfunktionen bereitstellen. Eigene Erweiterungen können im Allgemeinen nicht verwendet werden, um die interne Arbeitsweise zu beeinflussen, die einzig und allein durch die Laufzeit von WebSphere Application Server und die Klassen der JRas-Erweiterungen bestimmt wird.
Handler
Das eigenständige JRas-Protokollierungstoolkit definiert die Schnittstelle RASIHandler. Alle Handler müssen diese Schnittstelle implementieren. Sie können eigene Handler-Klassen schreiben, die die Schnittstelle RASIHandler implementieren. Sie sollten Instanzen der eigenen Handler direkt erstellen und sie den von der Manager-Klasse abgerufenen Protokollfunktionen (Logger) hinzufügen.
Das eigenständige JRas-Protokollierungstoolkit stellt mehrere Implementierungsklassen für Handler bereit. Diese Handler-Klassen sind nicht geeignet für den Einsatz in einer J2EE-Umgebung (Java 2 Platform, Enterprise Edition). Sie dürfen die Handler-Klassen des eigenständigen JRas-Protokollierungstoolkit nicht direkt verwenden oder Unterklassen bilden. Geschieht dies dennoch, stellt es eine Verletzung des Programmiermodells dar.
Formatter
Das eigenständige JRas-Protokollierungstoolkit definiert die Schnittstelle RASIFormatter. Alle Formatter müssen diese Schnittstelle implementieren. Sie können eigene Formatter-Klassen schreiben, die die Schnittstelle RASIFormatter implementieren. Sie können diese Klassen nur einem benutzerdefinierten Handler hinzufügen. Handler von WebSphere Application Server können nicht für die Verwendung benutzerdefinierter Formatter konfiguriert werden. Erstellen Sie stattdessen sofort Instanzen Ihrer Formatter, und fügen Sie sie ordnungsgemäß Ihren Handlern hinzu.
Wie bei Handlern bietet das eigenständige JRas-Protokollierungstoolkit auch mehrere Implementierungsklassen für Formatter. Die direkte Verwendung dieser Formatter-Klassen wird nicht unterstützt.
Typen von Nachrichtenereignissen
Das eigenständige JRas-Toolkit definiert die Typen von Nachrichtenereignissen in der Schnittstelle RASIMessageEvent. Außerdem reserviert WebSphere Application Server einen Bereich von Nachrichtenereignistypen für zukünftige Verwendung. Die Schnittstelle RASIMessageEvent definiert drei Typen mit den Werten 0x01, 0x02 und 0x04. Die Werte 0x08 bis 0x8000 sind für eine zukünftige Verwendung reserviert. Sie können Ihre eigenen Nachrichtenereignistypen bereitstellen, indem sie diese Schnittstelle entsprechend erweitern. Benutzerdefinierte Nachrichtentypen müssen einen Wert von 0x1000 oder höher haben.
Die Nachrichtenmasken der Nachrichtenprotokollfunktionen, die aus der Manager-Klasse abgerufen werden, sind auf übergeben (pass) oder die Verarbeitung aller in der Schnittstelle RASIMessageEvent definierten Nachrichtenereignistypen eingestellt. Damit benutzerdefinierte Nachrichtentypen verarbeitet werden können, muss die Maske der Nachrichtenprotokollfunktion manuell über Benutzercode auf den geeigneten Status eingestellt werden, nachdem die Nachrichtenprotokollfunktion aus der Manager-Klasse abgerufen wurde. WebSphere Application Server bietet keine integrierte Systemverwaltungsunterstützung zum Verwalten von Nachrichtentypen.
Nachrichtenereignisobjekte
Das eigenständige JRas-Toolkit stellt die Implementierungsklasse RASMessageEvent bereit. Wenn in der Nachrichtenprotokollierung eine Nachrichtenprotokollierungsmethode aufgerufen wird und der Nachrichtentyp gerade aktiviert ist, erstellt und verteilt die Protokollfunktion ein Ereignis dieser Klasse an alle Handler, die gegenwärtig bei dieser Protokollfunktion registriert sind.
Sie können eigene Klassen für Nachrichtenereignisse verwenden, die jedoch die Schnittstelle RASIEvent implementieren müssen. Von solchen benutzerdefinierten Klassen für Nachrichtenereignisse müssen sofort Instanzen erstellt werden. Wenn Sie die Instanz erstellt haben, übergeben Sie das Nachrichtenereignis an die Nachrichtenprotokollfunktion. Hierfür rufen Sie direkt die Methode fireRASEvent der Nachrichtenprotokollfunktion auf. Die Nachrichtenprotokollfunktionen von WebSphere Application Server sind nicht in der Lage, auf direktem Wege Instanzen benutzerdefinierter Typen zu erstellen, wenn eine Protokollierungsmethode (msg.message) in der Protokollfunktion aufgerufen wird. Außerdem werden Instanzen benutzerdefinierter Nachrichtentypen nie vom Handler von WebSphere Application Server verarbeitet. Die direkte Erstellung von Instanzen der Klasse RASMessageEvent ist nicht möglich.
Typen von Traceereignissen
Das eigenständige JRas-Toolkit definiert die Typen von Traceereignissen in der Schnittstelle RASITraceEvent. Sie können eigene Nachrichtenereignistypen verwenden, indem sie diese Schnittstelle entsprechend erweitern. In einem solchen Fall müssen Sie sicherstellen, dass die Werte der eigenen Typen von Traceereignissen nicht mit den Werten der bereits in der Schnittstelle RASITraceEvent definierten Typen kollidieren.
Für Traceprotokollfunktionen, die aus der Manager-Klasse abgerufen werden, ist die Tracemaske üblicherweise so eingestellt, dass alle Typen abgelehnt werden. Mit den Systemverwaltungsfunktionen von WebSphere Application Server kann ein anderer Ausgangsstatus angegeben werden. Außerdem kann mit den Systemverwaltungsfunktionen von WebSphere Application Server der Status der Tracemaske für eine Protokollfunktion zur Laufzeit geändert werden.
Damit benutzerdefinierte Tracetypen verarbeitet werden können, muss die Traceprotokollfunktionsmaske manuell über Benutzercode auf den richtigen Status gesetzt werden. Benutzerdefinierte Tracetypen können weder zur Startzeit noch zur Laufzeit mit den Systemverwaltungsfunktionen von WebSphere Application Server verwaltet werden.
Traceereignisobjekte
Das eigenständige JRas-Toolkit stellt die Implementierungsklasse RASTraceEvent bereit. Wenn in der Traceprotokollfunktion von WebSphere Application Server eine Traceprotokollierungsmethode aufgerufen wird und der Typ gerade aktiviert ist, erstellt und verteilt die Protokollfunktion ein Ereignis dieser Klasse an alle Handler, die gegenwärtig bei dieser Protokollfunktion registriert sind.
Sie dürfen Ihre eigenen Traceereignisklassen bereitstellen. Solche Klassen für Traceereignisse müssen die Schnittstelle RASIEvent implementieren. Sie müssen sofort Instanzen Ihrer Ereignisklassen erstellen. Wenn die Instanz erstellt ist, übergeben Sie das Traceereignis an die Traceprotokollfunktion. Hierfür rufen Sie direkt die Methode fireRASEvent der Traceprotokollfunktion auf. Die Traceprotokollfunktionen von WebSphere Application Server können nicht auf direktem Wege Instanzen benutzerdefinierter Typen erstellen, wenn eine Tracemethode (entry, exit, trace) in der Traceprotokollfunktion aufgerufen wird. Außerdem werden Instanzen benutzerdefinierter Tracetypen nie vom Handler von WebSphere Application Server verarbeitet. Auf direktem Wege können keine Instanzen der Klasse RASTraceEvent erstellt werden.
Benutzerdefinierte Typen, benutzerdefinierte Ereignisse und WebSphere Application Server
Per Definition verarbeitet der Handler von WebSphere Application Server keine benutzerdefinierten Nachrichten- oder Tracetypen und keine benutzerdefinierten Nachrichten- oder Traceereignisklassen. Nachrichten- und Traceeinträge eines benutzerdefinierten Typs oder einer benutzerdefinierten Ereignisklasse können nicht in die Laufzeitprotokolle von WebSphere Application Server geschrieben werden.