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