Каков «лучший» способ распределенных транзакций между несколькими базами данных с использованием Spring и Hibernate?

У меня есть приложение - больше похоже на утилиту - которое сидит в углу и периодически обновляет две разные базы данных.

Это небольшое автономное приложение, созданное с помощью Spring Application Context. В контексте настроены две фабрики сеансов Hibernate, в свою очередь использующие источники данных Commons DBCP, настроенные в Spring.

В настоящее время нет управления транзакциями, но я хотел бы добавить некоторые из них. Обновление одной базы данных зависит от успешного обновления другой.

Приложение не находится в контейнере Java EE - оно загружается статическим классом запуска, вызываемым из сценария оболочки. Класс запуска создает экземпляр Application Context, а затем вызывает метод на одном из его bean-компонентов.

Что 'Лучший' способ поместить транзакционность вокруг обновлений базы данных?

Я оставлю определение "Лучший' для вас, но я думаю, что это должно быть какой-то функциейлегко настроить ','легко настроить ','недорогой», а также 'легко упаковывать и распространять, Естественно, FOSS был бы хорош.

Ответы на вопрос(5)

Ваш ответ на вопрос