OCC (Optimistic Concurrency Control) für den JDBC-Mediator definieren

Implementieren Sie eine OCC-Strategie für das JDBC-DMS, um Transaktionsprobleme zu diagnostizieren, die von Aktualisierungskollisionen verursacht werden.

Informationen zu diesem Vorgang

Eine Aktualisierungskollision tritt auf, wenn Clientdaten, die in einen Datengraphen eingefügt werden, in der Datenbank geändert werden, bevor der Datengraph die Änderungen des Clients übergeben kann. Wenn Sie den JDBC-DMS für OCC konfigurieren, setzt der DMS eine OCC-spezifische Ausnahme ab, wenn eine solche Datenkollision auftritt. Die OCC-Ausnahme enthält Einzelheiten zur Kollision, wie z. B. die ursprünglichen Zeilenwerte, die aktuellen Zeilenwerte und die beabsichtigten Zeilenwerte. Die Clientanwendung verwendet diese Werte, um das Wiederherstellungsverfahren für die Kollision zu bestimmen. Beispielsweise kann die Anwendung die Daten erneut lesen und die Transaktion erneut starten.

Beim Auftreten einer Ausnahme lässt sich jedoch nicht sagen, ob es nicht weitere Ausnahmen in tieferen Schichten des Datengraphschemas gibt und deshalb nicht angezeigt werden.

Zum Aktivieren der OCC für den Data Mediator Service müssen Sie OCC-Spalten in Ihre Datenbanktabellen einfügen.

Fügen Sie einer Tabelle eine Spalte OCC-Integer hinzu und legen Sie fest, das diese Spalte für OCC in den Metadaten verwendet werden soll. Die definierte Spalte für OCC-Kollisionen ist für den Mediator reserviert. Wenn für eine Tabelle keine OCC-Spalte definiert ist, kann der DMS keine Überwachung und Benachrichtigung für Kollisionen bei Aktualisierungen durchführen. Mit den folgenden generischen Codesegmente wird eine solche Konfiguration erstellt:

Vorgehensweise

  1. Die OCC-Spalte wird erstellt.
    Column collisionColumn = table.addIntegerColumn("OCC_COUNT");
  2. Es wird sichergestellt, dass die Spalte keine Nullwerte zulässt.
     collisionColumn.setNullable(false);
  3. Die Spalte wird als Spalte für Tabellenkollisionen bestimmt.
     table.setCollisionColumn(collisionColumn);

    Ein vollständiges Codebeispiel, das eine Kollision verursacht, um die OCC-Ausnahme zu demonstrieren, finden Sie im Artikel "Beispiel: OCC-Datenkollisionen und Ausnahmen des JDBC-Mediators erzwingen".


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