Übersicht über Plug-ins

Ein Plug-in von WebSphere eXtreme Scale ist eine Komponente, die einen bestimmten Typ von Funktion für die Plug-in-Komponenten bereitstellt, zu denen ObjectGrid und BackingMap gehören. WebSphere eXtreme Scale stellt mehrere Plug-in-Punkte bereit, über die Anwendungen und Cache-Provider in verschiedene Datenspeicher und alternative Client-APIs integriert werden können und die Gesamtleistung des Caches verbessert werden kann. Im Lieferumfang des Produkts sind mehrere vordefinierte Plug-ins enthalten, aber Sie können auch eigene Plug-ins für die Anwendung erstellen.

Alle Plug-ins sind konkrete Klassen, die ein oder mehrere Plug-in-Schnittstellen von eXtreme Scale implementieren. Diese Klassen werden anschließend von ObjectGrid zur entsprechenden Zeit instanziiert und aufgerufen. Bei ObjectGrid und BackingMap können jeweils angepasste Plug-ins registriert werden.

ObjectGrid-Plug-ins

Die folgenden Plug-ins sind für eine ObjectGrid-Instanz verfügbar. Wenn das Plug-in nur serverseitig verfügbar ist, werden die Plug-ins in den clientseitigen ObjectGrid- und BackingMap-Instanzen entfernt. Die ObjectGrid- und BackingMap-Instanzen sind nur auf dem Server vorhanden.
  • TransactionCallback: Ein TransactionCallback-Plug-in stellt Transaktionslebenszyklusereignisse bereit. Wenn das TransactionCallback-Plug-in die integrierte JPATxCallback-Klassenimplementierung (com.ibm.websphere.objectgrid.jpa.JPATxCallback) ist, ist das Plug-in nur serverseitig verfügbar. Die Unterklassen der Klasse JPATxCallback sind jedoch nicht nur serverseitig verfügbar.
  • ObjectGridEventListener: Ein ObjectGridEventListener-Plug-in stellt ObjectGrid-Lebenszyklusereignisse für das ObjectGrid, Shards und Transaktionen bereit.
  • ObjectGridLifecycleListener: Ein ObjectGridLifecycleListener-Plug-in stellt ObjectGrid-Lebenszyklusereignisse für die ObjectGrid-Instanz bereit. Das ObjectGridLifecycleListener-Plug-in kann als optionale Mix-in-Schnittstelle für alle anderen ObjectGrid-Plug-ins verwendet werden.
  • ObjectGridPlugin: Ein ObjectGridPlugin ist eine optionale Mix-in-Schnittstelle, die erweiterte Lebenszyklusverwaltungsereignisse für alle anderen ObjectGrid-Plug-ins bereitstellt.
  • SubjectSource, ObjectGridAuthorization, SubjectValidation: eXtreme Scale bietet mehrere Sicherheitsendpunkte, an denen angepasste Authentifizierungsverfahren mit eXtreme Scale integriert werden können. (nur Serverseite)

Allgemeine Voraussetzungen für ObjectGrid-Plug-ins

Das ObjectGrid instanziiert und initialisiert Plug-in-Instanzen unter Verwendung von JavaBeans-Konventionen. Für alle Implementierungen der zuvor aufgeführten Plug-ins gelten die folgenden Voraussetzungen:
  • Die Plug-in-Klasse muss eine öffentliche Ausgangsklasse sein.
  • Die Plug-in-Klasse muss einen öffentlichen Konstruktor ohne Argumente haben.
  • Die Plug-in-Klasse muss (gegebenenfalls) im Klassenpfad für Server und Clients verfügbar sein.
  • Attribute müssen über JavaBeans-Eigenschaftenmethoden gesetzt werden.
  • Plug-ins werden, sofern nicht anders angegeben, vor der Initialisierung des ObjectGrids initialisiert und können nach der Initialisierung des ObjectGrids nicht mehr geändert werden.

BackingMap-Plug-ins

Die folgenden Plug-ins sind für eine BackingMap verfügbar:
  • Evictor: Ein Evictor-Plug-in (Bereinigungsprogramm) ist ein Standardmechanismus für das Entfernen von Cacheeinträgen und ein Plug-in für das Erstellen angepasster Evictor.
  • Veraltetes Feature ObjectTransformer: Mit einem ObjectTransformer-Plug-in können Sie Objekte im Cache serialisieren, entserialisieren und kopieren. Die Schnittstelle ObjectTransformer wurde durch die DataSerializer-Plug-ins ersetzt, die Sie verwenden können, um beliebige Daten effizient in WebSphere eXtreme Scale speichern können, so dass vorhandene Produkt-APIs effizient mit Ihren Daten interagieren können.
  • Veraltetes Feature OptimisticCallback: Mit einem OptimisticCallback-Plug-in können Sie Versionssteuerungs- und Vergleichsoperationen für Cacheobjekte anpassen, wenn Sie die optimistische Sperrstrategie verwenden. Das Plug-in "OptimisticCallback" wurde druch die Schnittstelle ValueDataSerializer.Versionable ersetzt, die Sie implementieren können, wenn Sie das DataSerializer-Plug-in mit dem Kopiermodus "COPY_TO_BYTES" oder die Annotation "@Version" mit der API EntityManager verwenden.
  • MapEventListener: Ein MapEventListener-Plug-in unterstützt Callback-Benachrichtigungen und signifikante Cachestatusänderungen für eine BackingMap.
  • BackingMapLifecycleListener: Ein BackingMapLifecycleListener-Plug-in stellt BackingMap-Lebenszyklusereignisse für die BackingMap-Instanz bereit. Das BackingMapLifecycleListener-Plug-in kann als optionale Mix-in-Schnittstelle für alle anderen BackingMap-Plug-ins verwendet werden.
  • BackingMapPlugin: Ein BackingMapPlugin ist eine optionale Mix-in-Schnittstelle, die erweiterte Lebenszyklusverwaltungsereignisse für alle anderen BackingMap-Plug-ins bereitstellt.
  • Indexing: Verwenden Sie das Indexierungsfeature, das vom MapIndexPlugin-Plug-in dargestellt wird, um einen Index oder mehrere Indizes für eine BackingMap zu erstellen, damit Datenzugriffe ohne Schlüssel unterstützt werden.
  • Loader: Ein Loader-Plug-in in einer ObjectGrid-Map dient als Speichercache für Daten, die gewöhnlich in einem persistenten Speicher auf demselben System oder einem anderen System gespeichert werden. (nur Serverseite)
  • MapSerializerPlugin: Ein MapSerializerPlugin ermgöglicht Ihnen, Java-Objekte und Nicht-Java-Daten im Cache zu serialisieren und zu deserialisieren. Das Plug-in wird mit den DataSerializer-Mix-in-Schnittstellen verwendet und bietet stabile und flexible Optionen für Hochleistungsanwendungen.