Sie können eine angepasste Threadidentitätsserviceklasse entwickeln, indem Sie die im Liberty-Server bereitgestellte Schnittstelle com.ibm.wsspi.kernel.security.thread.ThreadIdentityService implementieren. Die Schnittstelle ThreadIdentityService ist eine Serviceprogrammierschnittstelle (Service Programming Interface, SPI), die die Unterstützung für den Empfang von Benachrichtigungen beim Wechsel von Benutzer-IDs aktiviert.
Vorgehensweise
- Erstellen Sie einen angepassten Threadidentitätsservice durch Implementieren der Schnittstelle ThreadIdentityService.
- Wandeln Sie die Implementierungsklasse in einen OSGi-Service um. Sie können die Konvertierung mit einer der folgenden Methoden durchführen:
- Wandeln Sie Ihre ThreadIdentityService-Klasse in eine DS-Komponente (Declarative Service) um. Weitere Informationen
finden Sie im Artikel Services in OSGi Declarative Services deklarieren.
- Schreiben Sie eine neue ThreadIdentityService-Klasse, die eine DS-Komponente ist, und delegieren Sie sie an Ihre ThreadIdentityService-Klasse. Registrieren Sie Ihre ThreadIdentityService-Klasse mithilfe von OSGi-Core-APIs direkt in der Service-Registry (SR). Weitere Informationen
finden Sie im Artikel Mit der OSGi-Service-Registry arbeiten.
- Packen Sie den angepassten Threadidentitätsservice als OSGi-Bundle und exportieren Sie den ThreadIdentityService-Service. Informationen zur Erstellung eines OSGi-Bundles finden
Sie unter OSGi-Service-Bundle erstellen.
- Erstellen Sie ein Featuremanifest, um das OSGi-Bundle einzuschließen. Weitere Informationen
finden Sie im Artikel Produkterweiterung.
- Nachdem das Feature im Verzeichnis der benutzerspezifischen Produkterweiterung installiert ist,
konfigurieren Sie die Datei server.xml mit dem Featurenamen.
<featureManager>
...
<feature>usr:sampleThreadIdentityService-1.0</feature>
</featureManager>