Register Sperren

So geben Sie die Sperr-Policy eines Deskriptors an:

1. Im Navigator wählen Sie einen relationalen oder EIS-Root-Deskriptor.

   Wenn das erweiterte Attribut Sperren für den Deskriptor nicht sichtbar ist, klicken Sie mit der rechten Maustaste auf den Deskriptor und wählen Erweiterte Attribute auswählen > Sperren aus dem Kontextmenü oder aus dem Menü Ausgewählt.

2. Klicken Sie auf das Register Sperre.

Verwenden Sie diese Tabelle, um Daten in die folgenden Felder in dem Register des entsprechenden Typs einzugeben:

Feld | Beschreibung
--- | ---
Optimistisches Sperrverfahren | Geben Sie an, dass der Deskriptor das optimistische Sperrverfahren benutzt.
Nach Version | Geben Sie diese Option an, um die optimistische Sperre basierend auf Versionierung zu verwenden.
Datenbankfeld | Wählen Sie das Datenbankfeld, das den Versionswert enthält, der für die optimistische Sperre benutzt wird. Dieses Feld wird nur für relationale Deskriptoren angezeigt.
XPath | Klicken Sie auf Durchsuchen, um den Pfad zu dem Element oder Attribut zu definieren, in dem der Versionswert gespeichert wird. Dieses Feld wird nur für EIS-Root-Deskriptoren angezeigt. Stellen Sie sicher, dass der Typ des Attributs dem Typ der ausgewählten Sperr-Policy entspricht (`numerisch` bei Versionssperre und `Zeitstempel` bei Zeitstempelsperre).
Versionssperre | Geben Sie an, dass der Deskriptor die numerische Versionssperre verwendet. Das Versionsfeld (das von dem Datenbankfeld bei relationalen Deskriptoren oderXPath bei EIS-Root-Deskriptoren definiert wird) muss vom Typ `numerisch` sein.
Zeitstempelsperre | Geben Sie an, dass der Deskriptor die Zetstempel-Versionssperre basierend auf dem Zeitstempel verwendet. Das Versionsfeld (das von dem Datenbankfeld bei relationalen Deskriptoren oderXPath bei EIS-Root-Deskriptoren definiert wird) muss vom Typ `numerisch` sein.

Version im Cache speichern

Geben Sie an, ob die Versionsinformationen im Cache gespeichert werden sollen.

Wenn Sie kein Mapping für das Versionsfeld definieren möchten, müssen Sie diese Option aktivieren, um den Deskriptor so zu konfigurieren, dass der Versionswert im Oracle TopLink Cache gespeichert wird.

Wenn Sie ein Mapping für das Versionsfeld definieren möchten, müssen Sie diese Option deaktivieren, um den Versionswert in dem Objekt zu speichern.

Weitere Informationen finden Sie in"Optimistische Sperre in einer Three-Tier-Anwendung".

Nach Feldern Fußnote 1 | Geben Sie diese Option an, um die optimistische Sperre basierend auf Datenbankfeldern zu verwenden. Diese Felder werden nur für relationale Deskriptoren angezeigt.
Alle Felder | Wählen Sie alle Felder für die optimistische Sperre.
Geänderte Felder | Wählen Sie nur die geänderten Felder für die optimistische Sperre.
Ausgewählte Felder | Klicken Sie auf Hinzufügen, um spezifische Datenbankfelder für die optimistische Sperre auszuwählen.
Pessimistische Sperre | Geben Sie diese Option an, um die pessimistische Sperre für diesen Deskriptor zu verwenden. Dies gilt nur für Deskriptoren, für die EJB-Informationen konfiguriert worden sind (siehe "Deskriptor mit EJB-Informationen konfigurieren").

Auf Sperre warten

Geben Sie an, ob TopLink auf die Sperre einer Datenquelle warten soll. Wenn diese Option nicht ausgewählt wird, löst der Ausführungs-Thread sofort eine`DatabaseException` aus, wenn keine Schreibsperre auf dem Objekt angefordert werden kann.

Wenn diese Option ausgewählt ist, wartet der Ausführungs-Thread endlos, bis die Lesesperre freigegeben wird. Dann versucht er, die Sperre anzufordern. Verwenden Sie diese Option mit Vorsicht, da sie zu Anwendungs-Deadlocks führen kann.

Fußnote1 Mit `AttributeChangeTrackingPolicy` können Sie keine Feldsperre benutzen (siehe "AttributeChangeTracking Policy").

Siehe auch

  Sperr-Policy konfigurieren