Najlepszy wysiłek 1PC jest ładnie opisany w this post. Autor, David Syer, który pracuje dla SpringSource, dostarczył implementację ChainedTransactionManager
rozszerzającą klasę Spring AbstractPlatformTransactionManager
.Implementacja Spring ChainedTransactionManager zgodnie z wzorcem "best effort 1PC"
Ten szczególny menedżer transakcji może rozpocząć n transakcji, na przykład, JDBC lub JMS sesji i wykonywać popełnienia/wycofywania z wykorzystaniem n wystąpienia AbstractPlatformTransactionManager
, po jednym zasobie. Jest to bardzo przydatne, gdy sterowniki XA nie są dostępne. Ponieważ post jest bardzo stary, kod działa dobrze z wersją Spring 2.5, ale kończy się niepowodzeniem w Spring 3+.
Istnieje request ticket do realizacji podobnej funkcji w Spring 3+. Jestem gotów spróbować, ale pomyślałem, że najpierw zapytam: czy są jakieś implementacje?
Dzięki
Myślę, że możesz spróbować użyć ChainedTransactionManager z wiosennych danych-neo4j, ale jaka baza danych w dzisiejszych czasach nie zapewnia sterownika xa? Jeśli potrzebujesz innego pomysłu, ten blog http://infinispan.blogspot.com.ar/2011/06/faster-infinispan-based-second-level.html pokazuje, jak system buforowania przechwytuje synchronizację JTA, aby uniknąć XA, w warunki wykonania. – Luciano
Dzięki, że używam tego teraz, ktoś zasugerował to na Spring Jira. Na przykład Vectorwise nie zapewnia sterownika XA. Giovanni –
Witam Giovanni, próbujemy również wykonać podobną konfigurację dla naszej wiosennej aplikacji wsadowej z wykorzystaniem najlepszego wysiłku 1PC wzór. Czy możesz nam powiedzieć, jakie masz doświadczenie w stosowaniu tego podejścia? Jeśli możesz podać nam przykładowy plik konfiguracyjny dla odniesienia, byłoby to bardzo pomocne. mój identyfikator e-mail to [email protected] Z góry dziękuję – Ravikiran763