Lokale und globale Transaktionen

Anwendungen verwenden Ressourcen wie JDBC-Datenquellen (Java™ Database Connectivity) und Verbindungsfactorys, die über die Ansicht "Ressourcen" der Administrationskonsole konfiguriert werden. Es hängt von der zugrunde liegenden Transaktionsunterstützung des Ressourcenproviders ab, wie diese Ressourcen an globalen Transaktionen teilnehmen.

Beispielsweise können die meisten JDBC-Provider XA- oder Nicht-XA-Versionen einer Datenquelle bereitstellen. Eine Nicht-XA-Datenquelle kann nur lokale Transaktionen des Ressourcenmanagers (RMLT, Resource Manager Local Transactions) unterstützen, aber eine XA-Datenquelle kann zweiphasige Commit-Koordination und lokale Transaktionen unterstützen.

[z/OS]Außerdem unterstützen einige JDBC-Provider die Verwendung des z/OS Resource Recovery Service (RRS) für die Koordination der Transaktionsverarbeitung. Dieser Typ von JDBC-Provider ist RRSTransactional. Wenn RRS verwendet wird, werden sowohl lokale als auch globale Transaktionen unterstützt.
config: Wenn Sie den MQ-Ressourcenadapter mit einer Aktivierungsspezifikation verwenden, kann der Anwendungsserver RRS-Transaktionen nicht dahingehend optimieren, dass sie eine einphasige Festschreibung verwenden. Verwenden Sie Listener-Ports, wenn Sie diese Funktion benötigen.

[z/OS]Wenn eine Anwendung zwei oder mehr Ressourcenprovider verwendet, die nur RMLTs unterstützen, kann die Atomizität aufgrund der einphasigen Spezifik dieser Ressourcen nicht zugesichert werden. Zur Gewährleistung der Atomizität muss die Anwendung Ressourcen verwenden, die XA- oder RSS-Koordination unterstützen, und in einer globalen Transaktion auf diese Ressourcen zugreifen.

[AIX Solaris HP-UX Linux Windows][IBM i]Wenn eine Anwendung zwei oder mehr Ressourcenprovider verwendet, die nur RMLTs unterstützen, kann die Atomizität aufgrund der einphasigen Spezifik dieser Ressourcen nicht zugesichert werden. Zur Gewährleistung der Atomizität muss die Anwendung Ressourcen verwenden, die die XA-Koordination unterstützen, und muss in einer globalen Transaktion auf diese Ressourcen zugreifen.

Wenn eine Anwendung nur eine RMLT verwendet, kann das atomare Verhalten vom Ressourcenmanager garantiert werden, der in einem LTC-Kontext (Local Transaction Containment, lokaler Transaktionseinschluss) aufgerufen werden kann.

Eine Anwendung kann auch auf einen einzelnen Ressourcenmanager in einem globalen Transaktionskontext zugreifen, selbst wenn dieser Ressourcenmanager die XA-Koordination nicht unterstützt. Eine Anwendung kann dies tun, weil der Anwendungsserver eine "reine Ressourcenoptimierung" durchführt und unter einer RMLT mit dem Ressourcenmanager interagiert. In einem globalen Transaktionskontext führt jeder Versuch, mehrere Ressourcenprovider zu verwenden, die nur RMLTs unterstützen, zu einem Rollback der Transaktion.

Eine Instanz einer Enterprise-Bean kann jederzeit ausstehende Arbeit in einem globalen Transaktionskontext oder in einem LTC-Kontext (LTC = Local Transaction Containment, lokaler Transaktionseinschluss) haben, aber nicht in beiden. Eine Instanz einer Enterprise-Bean kann von einem Kontexttyp zu einem anderen wechseln (in beide Richtungen), wenn alle anstehenden Arbeiten im ursprünglichen Kontext abgeschlossen sind. Jede Verletzung dieses Prinzips führt zur Auslösung einer Ausnahme, wenn die Enterprise-Bean den neuen Kontext zu starten versucht.


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