Service für Zugriffsarten
Der Service für Zugriffsarten ermöglicht dem Entwickler eine optimierte Verwaltung der Anwendungspersistenz.
Zugriffsarten geben Entwicklern die Möglichkeit, Anwendungen so konfigurieren, dass die EJB-Container und ihre Agenten Leistungsoptimierungen für den Zugriff auf Entity-Beans vornehmen können. Entity-Beans und Methoden von Entity-Beans werden mit Richtlinien für Zugriffsarten konfiguriert. Eine Richtlinie wird entweder gemeinsam vom WebSphere-EJB-Container und dem Persistenzmanager (für CMP-Entitäten) oder direkt durch BMP-Entitäten umgesetzt. Beachten Sie dabei, dass Richtlinien für Zugriffsarten nur für Entity-Beans gelten.
Vordefinierte Richtlinien für Zugriffsarten
Es gibt sieben vordefinierte Richtlinien für Zugriffsarten. Die Richtlinien setzen sich aus verschiedenen Attributen zusammen. Der Zugriffstyp ist besonders wichtig und steuert die Isolationsstufe, den Sperrtyp und die Dauer der Sperren, die gesetzt werden, wenn Bean-Daten aus der Datenbank gelesen werden.
Ein pessimistischer Zugriffstyp legt fest, dass Sperren für die Dauer der Transaktion aufrecht erhalten werden, in der die Daten geladen werden. Ein optimistischer Zugriffstyp legt fest, dass die Sperren sofort aufgehoben werden, nachdem die Daten vom Back-End-Server gelesen wurden. Der Typ Read gibt an, dass die Laufzeitumgebung keine Aktualisierung der Daten zulassen darf. Jeder Versuch, Daten zu aktualisieren, die mit dem Zugriffstyp Read gelesen werden, führt zu einer Ausnahme. Beim Zugriffstyp Update können die Daten geändert werden.
Obwohl eine Richtlinie des Typs "Pessimistic Update" Aktualisierungssperren für Datensätze aufrecht erhalten soll, blockiert sie keine Threads mit anderen Richtlinien, die versuchen, auf diese Datensätze zuzugreifen. Wenn zwei Threads mit einer Richtlinie des Typs "Pessimistic Update" auf einen Datensatz zugreifen, serialisieren sie (aber blockieren keine) andere Threads mit einer Richtlinie des Typs "Pessimistic Read" oder "Optimistic", die versuchen, auf diesen Datensatz zuzugreifen.
Im Folgenden sind die sieben Richtlinien für Zugriffsarten und die zugehörigen Attribute beschrieben:- wsPessimisticUpdate
- Zugriffstyp = Pessimistic Update
- Geltungsbereich der Collection = Transaktion
- Inkrement für Collection = 1
- Inkrement für Vorabzugriff des Ressourcenmanagers = 0
- Hinweise für Vorauslesen = null
- wsOptimisticUpdate
- Zugriffstyp = Optimistic Update
- Geltungsbereich der Collection = Transaktion
- Inkrement für Collection = 25
- Inkrement für Vorabzugriff des Ressourcenmanagers = 0
- Hinweise für Vorauslesen = null
- wsOptimisticRead
- Zugriffstyp = Optimistic Read
- Geltungsbereich der Collection = Transaktion
- Inkrement für Collection = 25
- Inkrement für Vorabzugriff des Ressourcenmanagers = 0
- Hinweise für Vorauslesen = null
- wsPessimisticRead
- Zugriffstyp = Pessimistic Read
- Geltungsbereich der Collection = Transaktion
- Inkrement für Collection = 25
- Inkrement für Vorabzugriff des Ressourcenmanagers = 0
- Hinweise für Vorauslesen = null
- wsPessimisticUpdate-Exclusive
- Zugriffstyp = Pessimistic Update
- Exklusiv = true
- Geltungsbereich der Collection = Transaktion
- Inkrement für Collection = 1
- Inkrement für Vorabzugriff des Ressourcenmanagers = 0
- Hinweise für Vorauslesen = null
- wsPessimisticUpdate-NoCollision
- Zugriffstyp = Pessimistic Update
- Kollisionsfrei = true
- Geltungsbereich der Collection = Transaktion
- Inkrement für Collection = 25
- Inkrement für Vorabzugriff des Ressourcenmanagers = 0
- Hinweise für Vorauslesen = null
- wsPessimisticUpdateWeakestLockAtLoad
- *Standardrichtlinie
- Zugriffstyp = Pessimistic Update
- Hochstufen = wahr
- Geltungsbereich der Collection = Transaktion
- Inkrement für Collection = 25
- Inkrement für Vorabzugriff des Ressourcenmanagers = 0
- Hinweise für Vorauslesen = null
Wenn Verbindungen gemeinsam nutzt werden sollen, müssen Sie sicherstellen, dass alle in derselben Transaktion geladenen Daten sich auf derselben Isolationsstufe befinden. Stellen Sie außerdem sicher, dass alle beteiligten Methoden, die Ladevorgänge ansteuern, entweder mit einem pessimistischen oder optimistischen Zugriffstyp konfiguriert sind.