Transaktionsverarbeitung in Java-EE-Anwendungen

[Version 8.5 und höher] WebSphere eXtreme Scale stellt einen eigenen Ressourcenadapter bereit, den Sie verwenden können, um Anwendungen mit dem Datengrid zu verbinden und lokale Transaktionen zu verarbeiten.

Mit der Unterstützung des Ressourcenadapters von eXtreme Scale können Java-EE-Anwendungen (Java Platform, Enterprise Edition) Clientverbindungen von eXtreme Scale suchen und lokale Transaktionen mithilfe lokaler Java-EE-Transaktionen oder mithilfe der APIs von eXtreme Scale abgrenzen. Wenn der Ressourcenadapter konfiguriert ist, können Sie die folgenden Aktionen mit Ihren Java-EE-Anwendungen ausführen:

Die folgenden zusätzlichen Funktionen stehen mit WebSphere Application Server zur Verfügung:

Zuständigkeiten des Administrators

Der Ressourcenadapter von eXtreme Scale wird im Java-EE-Anwendungsserver installiert oder mit der Anwendung eingebettet. Nach der Installation des Ressourcenadapters erstellt der Administrator eine oder mehrere Verbindungsfactory des Ressourcenadapters für jede Katalogservicedomäne und optional jede Datengridinstanz. Die Verbindungsfactory identifiziert die Eigenschaften, die erforderlich sind, um mit dem Datengrid zu kommunizieren.

Anwendungen referenzieren die Verbindungsfactory, woraufhin die Verbindung zum fernen Datengrid aufgebaut wird. Jede Verbindungsfactory hostet eine einzelne Clientverbindung von eXtreme Scale, die für alle Anwendungskomponenten wiederverwendet wird.
Wichtig: Da die Clientverbindung von eXtreme Scale einen nahen Cache enthalten kann, dürfen Anwendungen Verbindungen nicht gemeinsam nutzen. Es muss eine Verbindungsfactory für jede Anwendungsinstanz vorhanden sein, um Probleme mit der gemeinsamen Nutzung von Objekten durch mehrere Anwendungen zu vermeiden.

Die Verbindungsfactory hostet eine Clientverbindung von eXtreme Scale, die von allen referenzierenden Anwendungskomponenten gemeinsam genutzt wird. Sie können eine Managed Bean (MBean) verwenden, um auf Informationen zur Clientverbindung zuzugreifen oder um die Verbindung zurückzusetzen, wenn sie nicht mehr benötigt wird.

Zuständigkeiten des Anwendungsentwicklers

Ein Anwendungsentwickler erstellt Ressourcenreferenzen für verwaltete Verbindungsfactorys im Anwendungsimplementierungsdeskriptor oder mit Annotationen. Jede Ressourcenreferenz enthält eine lokale Referenz für die Verbindungsfactory von eXtreme Scale sowie den Geltungsbereich für die gemeinsame Nutzung von Ressourcen.
Wichtig: Die Aktivierung der gemeinsamen Nutzung von Ressourcen ist wichtig, weil sie die gemeinsame Nutzung lokaler Transaktionen durch mehrere Anwendungskomponenten ermöglicht.

Anwendungen können die Verbindungsfactory in die Java-EE-Anwendungskomponente injizieren, oder sie können sie mit JNDI suchen. Die Verbindungsfactory wird verwendet, um Verbindungshandles zur Clientverbindung von eXtreme Scale abzurufen. Die Clientverbindung von eXtreme Scale wird unabhängig von der Ressourcenadapterverbindung verwaltet und bei erstmaliger Verwendung aufgebaut und dann für alle nachfolgenden Verbindungen wiederverwendet.

Nachdem die Verbindung gefunden wurde, ruft die Anwendung eine Referenz auf die Sitzung von eXtreme Scale ab. Mit der Referenz auf die Sitzung von eXtreme Scale ist die Anwendung in der Lage, alle Client-APIs und Features von eXtreme Scale zu nutzen.

Sie können Transaktionen auf eine der folgenden Arten abgrenzen:
  • Verwendung der Transaktionsdemarkationsmethoden von com.ibm.websphere.objectgrid.Session
  • Verwendung der lokalen Transaktionen von javax.resource.cci.LocalTransaction
  • Verwendung einer globalen Transaktion, wenn WebSphere Application Server mit aktivierter Unterstützung des letzten Teilnehmers verwendet wird. Wenn Sie diesen Ansatz für die Demarkation wählen, müssen Sie
    • eine anwendungsverwaltete globale Transaktion mit javax.transaction.UserTransaction verwenden,
    • eine containerverwaltete Transaktion verwenden.

Zuständigkeiten des Anwendungsimplementierers

Der Anwendungsimplementierer bindet die lokale Referenz der Verbindungsfactory des Ressourcenadapters, die der Anwendungsentwickler definiert, an die Verbindungsfactorys des Ressourcenadapters, die der Administrator definiert. Der Anwendungsimplementierer muss der Anwendung den richtigen Verbindungsfactorytyp und -geltungsbereich zuweisen und sicherstellen, dass die Verbindungsfactory nicht von mehreren Anwendungen gemeinsam genutzt wird, um die gemeinsame Nutzung von Java-Objekten zu verhindern. Der Anwendungsimplementierer ist auch für die Konfiguration und Zuordnung anderer Konfigurationsinformationen zuständig, die für alle Verbindungsfactorys gleichermaßen gelten.