Jaki jest „najlepszy” sposób przeprowadzania rozproszonych transakcji w wielu bazach danych przy użyciu Spring i Hibernate

Mam aplikację - bardziej jak narzędzie - która siedzi w rogu i okresowo aktualizuje dwie różne bazy danych.

Jest to mała samodzielna aplikacja, która została zbudowana w kontekście aplikacji Spring. Kontekst ma skonfigurowane dwie Fabryki Sesji Hibernate, z kolei wykorzystujące źródła danych DBCP Commons skonfigurowane na wiosnę.

Obecnie nie ma zarządzania transakcjami, ale chciałbym dodać kilka. Aktualizacja jednej bazy danych zależy od pomyślnej aktualizacji drugiej.

Aplikacja nie znajduje się w kontenerze Java EE - jest uruchamiana przez statyczną klasę uruchamiania wywoływaną ze skryptu powłoki. Klasa programu uruchamiającego tworzy instancję kontekstu aplikacji, a następnie wywołuje metodę na jednym z jej komponentów.

Jaki jest „najlepszy” sposób na wprowadzenie transakcyjności do aktualizacji baz danych?

Pozostawię ci definicję „najlepsza”, ale myślę, że powinna to być funkcja „łatwa do skonfigurowania”, „łatwa w konfiguracji”, „niedroga” i „łatwa do pakowania i redystrybucji”. Oczywiście FOSS byłby dobry.

questionAnswers(5)

yourAnswerToTheQuestion