JTA wurde 1999 von Sun Microsystems definiert ind er Anlenung an Open Group DTP Spezifikation.
Die JTA API besteht nur aus zwei packages und Wenigen Klasen und Interfaces die man unter nagebenen Links fienden kann. Die Darstellung hier dient nur der Einordnung und dem Vergleich von JTA mit X/Open DTP
Vergleiche 2 Phase Commit Protocol
Zusammenfassend, besteht JTA aus drei Teilen, dem Aplikationsnahem transaktion demarcation Interface, dem Tranasktionsmanager interface (der eher für Applications Server ausgelegt ist) und dem Open Group XA-interface welcher von transaktionalen Resourcemanagern(RM) implementiret wird. 1).
javax.transaktion.UserTransaktion representiert die limitierte Ausgabe von Open Group TX Schnitstelle. Dieser Interface erlaububt es dem Anwendungsprogram die Grenzen wie Anfang und Ende der Transaktion programatisch zu bestimmen.
J2EE Spezifikation 1.3 das die Komponenten welche den UserTransaction interface nutzen können (z.B. EJB, Servlet, JSP)solten die Reference auf den Interfece durch den JNDI lookup bekommen.
// Erzeige JNDI Kontext Context context = new InitialContext(); // Beschaffe UserTransaction UserTransaction ut = (UserTransaction) context.lookup("java:comp/UserTransaction"); // Starte die Transkation ut.begin(); // ... RM zugriffe ut.commit();
Ein EJB kann aber auch durch EJBContext.getUserTransaction() Methode auf die UserTransaktion Instanz zugreifen 2). Imgegensatz Zum EJB-Container, hat der Webkontainer keine Routinen für die Fehlerbehandlung so müssen begin(), commit() usw, in try{} und catch{} gesetzt werden.