Spring Global transaction vs Lokale Transaktion
Beim Lesen durch den Frühling Transaktion Dokumentation sehe ich, dass es unterstützt sowohl Globale Transaktionen und Lokale Transaktionen.
- In einfachen Worten, was ist die Globale Transaktion und was ist lokale Transaktion?
- Was sind die Vorteile des einen über den anderen? Was sind die angemessenen Gebrauch von Ihnen?
Wenn ich die folgende Konfiguration verwenden – heißt es, es ist eine lokale Transaktion?
<tx:annotation-driven transaction-manager="transManager" />
<bean id="transManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="emf" />
</bean>
Ich versucht, auf der Suche sowohl bei Google und Stackoverflow, aber nicht bekommen, um keine Ressourcen zu erklären, die dasselbe in einfachen Worten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tatsächlich gibt es viele Ressourcen, die Beantwortung Ihrer ersten beiden Fragen, zum Beispiel Spring-Dokumentation erklärt, was lokale und Globale Transaktion ist und zeigt Ihre Unterschiede werden in Kapitel 9.2 Motivation. In wenigen Worten:
Globale Transaktion ist ein application-server verwaltet die Transaktion, so dass die Arbeit mit verschiedenen Transaktions-Ressourcen (diese kann zwei verschiedene Datenbank -, Datenbank und message queue, usw.)
Lokale Transaktion ist die Ressource, die bestimmte Transaktion (zum Beispiel Oracle-Transaktionen) und application-server hat nichts mit Ihnen zu tun.
(das gleiche Kapitel erläutert die vor-und Nachteile eines jeden von Ihnen sehr gut und viel besser als ich erklären könnte, so schlage ich vor, Sie geben einen genaueren Blick)
Antworten auf deine spätere Frage. Die Dokumentation sagt, dass
JpaTransactionManager
Lage ist, für die Verarbeitung von globalen Transaktionen, so suchen Sie am Stück präsentiert-code ist es schwer zu sagen, ob es lokal oder global transaction. Die gleiche Dokumentation sagt, dass die lokalen single-Ressource die TransaktionDataSourceTransactionManager
sollte stattdessen verwendet werden.