WSJPA-Objektcache zur Leistungsverbesserung konfigurieren

Die WSJPA-Erweiterung (WebSphere Java™ Persistence API) für OpenJPA stellt einen schreibgeschützten Objektcache bereit, mit dem die Leistung in bestimmten Anwendungsfällen verbessert werden kann. Diese Konfiguration wird nur mit WSJPA auf der Spezifikationsstufe JPA 2.0 unterstützt.

Informationen zu diesem Vorgang

Die Implementierung eines WSJPA-Objektcacheobjekts kann die Leistung einer Anwendung verbessern, die Daten enthält, die in einer statischen schreibgeschützten Methode (z. B. der Zugriff auf persistente Hauptfelder und die persistente Speicherung unidirektionaler Beziehungen in einem schreibgeschützten Typ) verwendet werden. Der WSJPA-Objektcache ist ein nicht verteilter Cache mit schreibgeschützten Entitäten, der auf der Ebene der EntityManagerFactory arbeitet. Diese zwischengespeicherten Instanzen werden von allen Entitätsmanagern in der JVM (Java Virtual Machine) gemeinsam genutzt, jedoch von keinem dieser Manager verwaltet. Wenn das Feature aktiviert ist, wird das Objektcacheobjekt überprüft, bevor die Anwendung auf das Objekt "OpenJPA DataCache" und die Datenbank zugreift, und es werden persistente Objekte in der Datenbank geladen und im OpenJPA-Objektcache gespeichert. Darüber hinaus kann die Implementierung des Objektcache in Verbindung mit Features für den OpenJPA-Datencache und den Abfragecache verwendet werden, um die Leistung weiter zu steigern.

Beachten Sie die folgenden Bedingungen und Einschränkungen:
  • Sie sind aus Anwendungsperspektive strikt schreibgeschützt.
    • Die Übergabe eines schreibgeschützten Typs an die folgenden Operationen hat eine Ausnahme vom Typ "UnsupportedOperationException" zur Folge.
      • Die Übergabe einer schreibgeschützten Entität an EntityManager.merge(…).
      • Die Übergabe einer schreibgeschützten Entität an EntityManager.persist(…).
      • Die Übergabe einer schreibgeschützten Entität an EntityManager.remove(…).
    • Der Aufruf einer Setter-Methode für einen schreibgeschützten Typ, der von der WebSphere-JPA-Laufzeit zurückgegeben wurde, hat eine Fehlernachricht vom Typ "UnsupportedOperationException" zur Folge.
  • Typen, die in den Objektcache eingeschlossen werden, dürfen nicht für die Zwischenspeicherung im OpenJPA-Datencache infrage kommen. Typen, die vom OpenJPA-L2-Cache (openjpa.DataCache), dürfen nicht kombiniert werden. Der Objektcache darf nicht mit dem Objektcache der zweiten Ebene verwechselt werden, der von der Spezifikation JPA 2.0 definiert wird. Wenn Typen kombiniert werden, tritt bei der Erstellung des Entitätsmanagers eine Ausnahmebedingung ein.
  • Schließen sie nur Hauptfelder ein, sonst kann bei der Erstellung des Entitätsmanagers eine Ausnahmebedingung eintreten.
  • Die Übergabe einer schreibgeschützten Entität an EntityManager.contains(…) gibt immer den Wert "false" zurück, selbst wenn sie zuvor von einer Such-/Abfrageoperation zurückgegeben wurde.
Sie können den Objektcache für eine Umgebung mit einer einzelnen JVM aktivieren, die in diesem Cache enthaltenen Typen angeben, die maximale Elementgröße definieren und Zeitlimitwerte angeben.
Unterstützte Konfigurationen Unterstützte Konfigurationen: Der Eigenschaftsname "wsjpa.ObjectCache" wird bevorzugt, doch auch "openjpa.ObjectCache" gilt als gültige Konfiguration.sptcfg

Vorgehensweise

Nächste Schritte

Wenn bei der Erstellung des ersten Entitätsmanagers das automatische Laden des gesamten Objektcache aktiviert werden soll, führen Sie die im Artikel WSJPA-Objektcache automatisch vorher laden beschriebenen Schritte aus. Informationen zu allen Caching-Erweiterungen finden Sie in der Beschreibung des Cachings im Benutzerhandbuch zu OpenJPA.

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