Service für Zugriffsarten

Der Service für Zugriffsarten wird von der Anwendungsserverlaufzeit bereitgestellt und ermöglicht Ihnen, die Persistenz einer Anwendung präzise zu verwalten.

Der Service für Zugriffsarten definiert eine Gruppe deklarativer Annotationen, die vom EJB-Container und seinen Agenten verwendet werden, um Leistungsoptimierungen für den Zugriff auf Entity-Beans vorzunehmen. Diese Anmerkungen werden zu Gruppen zusammengefasst, so genannten Richtlinien für Zugriffsarten (oder Richtlinien für geplanten Zugriff).

Richtlinien für Zugriffsarten enthalten Anmerkungen, die vom EJB-Container und seinen Agenten als Hinweise (oder Hints) betrachtet werden. Die meisten Richtlinien für Zugriffsarten sind Hinweise, die höherstufige Abstraktionen darstellen, die einem speziellen Back-End-Ressourcenmanager zugeordnet werden können. Die Funktionen für EJB-Persistenz sind dafür verantwortlich, dass bei der Realisierung der Persistenzdetails die erforderlichen Maßnahmen bezüglich der Steuerung des gemeinsamen Zugriffs, der Verbindung und der Cacheverwaltung durchgeführt werden. Die Hinweise für Zugriffsarten können dem EJB-Persistenzmanager beim Ausführen der ihm zugewiesenen Task eine bessere Entscheidungsgrundlage hinsichtlich der Leistung bieten. Eine kleinere Anzahl von Zugriffsarten sind Hinweise für den EJB-Container, die die Verwaltung einer EJB-Collection beeinflussen.

Im Allgemeinen konfigurieren Sie eine Zugriffart auf Bean-Ebene für Ihre Anwendungen. Sie können Richtlinien für Zugriffsarten auch auf Beans im Geltungsbereich von Anwendungsprofilen anwenden. Folglich können Sie Beans mit mehreren und auch widersprüchlichen Richtlinien für Zugriffsarten konfigurieren. Die Dokumentation zum Service für die Erstellung von Anwendungsprofilen beschreibt ausführlicher, wie Sie eine Anwendung konfigurieren müssen, damit bei einer Anforderung eine spezielle Richtlinie für Zugriffsarten auf eine Bean angewandt wird, und bei einer anderen Anforderung an dieselbe Bean eine andere Richtlinie.

Die Anwendung von Richtlinien für Zugriffsarten auf der Methodenebene wird in WebSphere Application Server Version 6.0 nicht weiter unterstützt. Bei diesem Konfigurationsverfahren für Zugriffsarten wenden Sie eine Richtlinie auf Methoden im Geltungsbereich eines EJB-Moduls an, so dass die Richtlinie als Standardzugriffsart für alle Anforderungen dieser Methoden verwendet wird.

Hinweise zur Gestaltung von Zugriffsarten

Bewährtes Verfahren Bewährtes Verfahren: Vermeiden Sie es, zu viele Optimierungsparameter zu ändern. Sie können durch falsche Verwendung des Service für Zugriffsarten Fehler in die Konfiguration einführen. Eine unsachgemäße Verwendung der Richtlinie "wsPessimisticUpdate-NoCollision" kann beispielsweise dazu führen, dass Aktualisierungen verloren gehen. Eine ungültige Einstellung des Inkrements für Collection kann Durchsatzprobleme nach sich ziehen. Außerdem wird die Fehlerbestimmung schwieriger, wenn eine Anwendung mit mehreren Richtlinien für Zugriffsarten konfiguriert ist. best-practices
Anmerkung: Klarheit und Einfachheit sind grundlegende Richtlinien für die Verwendung des Service für Zugriffsarten. Dies ist noch wichtiger, wenn Sie Richtlinien für Zugriffsarten im Geltungsbereich von Anwendungsprofilen anwenden.

Obwohl Richtlinien für Zugriffsarten für jede Methode einer Entity-Bean konfiguriert werden können, sind einige Attribute einer Richtlinie nur unter bestimmten Bedingungen von der Laufzeitumgebung verwendbar. Beispielsweise werden gemeinsamer Zugriff und Zugriffsarten nur dann für CMP-Entity-Beans verwendet, wenn die Methode "ejbLoad" angewiesen wird, eine Verbindung zu einer bestimmten Ressource herzustellen und Daten aus dieser zu lesen, diese Daten dann zwischengespeichert und dazu verwendet werden, während des Aufrufs der Methode "ejbStore" die richtigen Abfragen zu steuern. Hinweise für Vorauslesen (Read-Ahead-Hints) werden für eine Bean nur während der Ausführung einer Finder-Methode verwendet. Außerdem werden das Inkrement für Collection und das Inkrement für Vorabzugriff des Ressourcenmanagers nur in Finder-Methoden für mehrere Objekte verwendet. Das Konfigurieren von Richtlinien für Methoden, die die Richtlinie nicht verwenden, ist kein Fehler. Es werden nur bestimmte Attribute einer Richtlinie verwendet, selbst wenn die Richtlinie korrekt auf eine Methode angewendet wurde. Die Konfiguration nicht erforderlicher Richtlinien macht eine Anwendung jedoch unübersichtlicher und kompliziert die Verwaltung der Anwendung.

Zugriffsart mit BMP-Entity-Beans

Die deklarative Funktionalität von Zugriffsarten bietet Ihnen als Entwickler von CMP-Entity-Beans enorme Flexibilität. Sie können Hinweise geben, wie das Produkt die Persistenzdetails verwalten soll, ohne die Persistenzlogik in der Anwendung explizit verwalten zu müssen.Es gibt jedoch Situationen, in denen Sie BMP-Entity-Beans entwickeln müssen. Da der einzige bedeutende Unterschied zwischen BMP- und CMP-Komponenten die Frage ist, wer die Persistenzlogik bereitstellt, müssen BMP-Entity-Beans in der Lage sein, Hinweise für Zugriffsarten so einzusetzen, wie es das Produkt für CMP-Beans tut. BMP-Entity-Beans, die den Service für Zugriffsarten verwenden, können den Service für die Erstellung von Anwendungsprofilen nutzen, d. h. die Werte der Attribute für Zugriffsarten können sich von Anforderung zu Anforderung unterscheiden, wodurch die BMP-Entity-Bean ihre Persistenzstrategie laufend anpassen kann.

Sie können Richtlinien für Zugriffsarten auf die Methoden von BMP-Entity-Beans und CMP-Entity-Beans anwenden. Da Hinweise für Zugriffsarten an sich nicht verbindlich sind, muss eine BMP-Entity-Bean sie auch nicht unbedingt anwenden. Es wird erwartet, dass BMP-Entity-Beans nur die Attribute für Zugriffsarten verwenden, die für diese spezielle Bean wichtig sind.

Die aktuelle Richtlinie für Zugriffsarten wird für jede spezielle BMP-Entity-Bean an den Namespace java:comp gebunden. Diese Richtlinie ist nur für die Dauer des Methodenaufrufs aktuell, in dem die Richtlinie für Zugriffsarten abgerufen wird. In einem typischen Szenario wird der Zugriffstyp während des Aufrufs der Methode "ejbLoad" im Cache gespeichert, so dass während des Aufrufs der Methode "ejbStore" entsprechende Maßnahmen eingeleitet werden können.

Empfohlene Methoden für Zugriffsarten

In diesem Artikel sind die Punkte aufgelistet, die beim Anwenden der Richtlinien für Zugriffsarten auf EJB-Methoden zu beachten sind.

  • Konfigurieren Sie zunächst die standardmäßig verwendete Richtlinie für Zugriffarten für eine Einheit. Nachdem Ihre Anwendung erstellt und gestartet wurde, können Sie verschiedene Zugriffspfade in Ihrer Anwendung mit der Erstellung von Anwendungsprofilen oder Zugriffsarten für die Methodenebene abstimmen.
  • Mischen Sie die Zugriffstypen nicht. Vermeiden Sie, die Pessimistic- und die Optimistic-Richtlinie in derselben Transaktion zu verwenden. Bei den meisten Datenbanken verwenden die Pessimistic- und die Optimistic-Richtlinie verschiedene Isolationsstufen. Das führt möglicherweise dazu, dass mehrere Datenbankverbindungen hergestellt werden. Die Folge davon ist, dass Sie die Vorteile hinsichtlich der Leistung, die durch die gemeinsame Benutzung von Verbindungen möglich sind, nicht nutzen können.
  • Gehen Sie beim Anwenden der Richtlinie wsPessimisticUpdate-NoCollision mit Vorsicht vor. Diese Richtlinie stellt keine Datenintegrität sicher. Datenbanken werden nicht gesperrt, gleichzeitig ablaufende Transaktionen können also gegenseitig Aktualisierungen überschreiben. Verwenden Sie diese Richtlinie nur dann, wenn Sie sicherstellen können, dass nur eine Transaktion versucht, den persistenten Speicher zu einem bestimmten Zeitpunkt zu aktualisieren.

Weitere Informationen zu JPA-Zugriffsarten (Java Persistence API) finden Sie im zugehörigen Artikel.


Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cejb_axiover
Dateiname:cejb_axiover.html