У меня есть приложение, похожее на утилиту, которая сидит в углу и периодически обновляет две разные базы данных.
Это небольшое автономное приложение, созданное с помощью контекста приложения Spring. Контекст имеет два сконфигурированных в нем спящего режима, в свою очередь, используя источники данных Commons DBCP, настроенные в Spring.
В настоящее время нет управления транзакциями, но я хотел бы добавить некоторые. Обновление одной базы данных зависит от успешного обновления с другим.
Приложение не размещается в контейнере Java EE - он загружается статическим классом launcher, вызванным из оболочки script. Класс launcher создает экземпляр контекста приложения, а затем вызывает метод на одном из его beans.
Каков наилучший способ переноса транзакций вокруг обновлений базы данных?
Я оставлю для вас определение "наилучшего", но я думаю, что это должна быть некоторая функция "легко настроить", "легко настроить", "недорого" и "легко упаковать и перераспределить". Естественно, FOSS будет хорошо.