Was ist der Unterschied zwischen JTA und einer lokalen Transaktion?
Was ist der Unterschied zwischen JTA und eine lokale Transaktion?
Ein Beispiel, das zeigt, Wann JTA und wenn die Verwendung einer lokalen Transaktion wäre toll.
InformationsquelleAutor der Frage user1127214 | 2012-03-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
JTA
ist eine Allgemeine API für die Verwaltung von Transaktionen in Java. Es erlaubt das starten, das commit und rollback Transaktionen in einem Ressourcen-neutraler Weise. Transaktions-status ist in der Regel gespeichert in TLS (Thread Local Storage) und propagiert werden können, zu anderen Methoden in einem call-stack ohne einigen expliziten Kontext-Objekt übergeben werden, um. Transaktionale Ressourcen können an die laufende Transaktion. Wenn es mehr als eine Ressource, die Teilnahme an einer solchen Transaktion, mindestens einer von Ihnen hat eine so genannte XA-Ressource.Einen
resource local transaction
ist eine Transaktion, die Sie haben, mit einer bestimmten Ressource, die mit eigenen spezifischen API. Eine solche Transaktion in der Regel nicht weitergegeben zu anderen Methoden in einem call-stack-und Sie sind verpflichtet, pass some explicit context-Objekt um. In der Mehrzahl der Ressource lokalen Transaktionen ist es nicht möglich, auf mehrere Ressourcen teilnehmenden in der gleichen Transaktion.Verwenden Sie eine Ressource der lokalen Transaktion, beispielsweise low-level-JDBC-code in Java SE. Hier der Kontext-Objekt ausgedrückt wird durch eine Instanz der
java.sql.Connection
. Andere Beispiele von Ressourcen-lokale Transaktionen sind Entwickler von enterprise-Anwendungen, etwa 2002. Da transaction Manager (JTA) waren teuer, closed source und komplizierte Dinge, um das setup um, die ära gingen die Leute mit den billigeren und einfacher zu erhalten, Ressourcen-lokale Varianten.Verwenden Sie eine JTA-Transaktion grundsätzlich in jedem anderen Szenario. Sehr einfache, kleine, freie und open-source-Servern wie TomEE (25MB) oder GlassFish (35MB) JTA-Unterstützung out of the box. Es gibt nichts, um das setup, und Sie Funktionieren Einfach.
Schließlich, Technologien wie EJB und Spring auch noch machen JTA einfacher zu bedienen, indem
declarative transactions
. In den meisten Fällen ist es ratsam, diese zu benutzen, da Sie leichter, übersichtlicher und weniger fehleranfällig. Sowohl EJB und Spring verwenden können, JTA unter der Decke.InformationsquelleAutor der Antwort Arjan Tijms
Transaction-type sollte auf "RESOURCE_LOCAL" für Java-SE-Anwendung und auf "JTA" für Java-EE-Anwendung.
"RESOURCE_LOCAL" kann gut funktionieren, auf einigen web-Anwendung bereitgestellt, die auf Tomcat, aber kann Probleme verursachen, wenn Sie Ihre Anwendung ausführen, die unter glassfish Umgebung.
Wenn Sie arbeiten an verteilten Transaktionen, die Sie verwenden müssen, "JTA" als Transaktion manager.
InformationsquelleAutor der Antwort Mayank Jalotra
Die Java Transaction API (JTA) ist eine von der Java Enterprise Edition (Java EE) - APIs ermöglicht verteilte Transaktionen durchgeführt werden über mehrere XA-Ressourcen in einer Java-Umgebung.
InformationsquelleAutor der Antwort Nitin
J2EE-Anwendung enthält suppoart fot DT durch 2 Spezifikationen
JTA - --->Java Transaction API.highe-level-Implementierung und ist immer aktiviert
JTS--->Java Transaction Service.
InformationsquelleAutor der Antwort feel good and programming