使用Spring和Hibernate跨多个数据库进行分布式事务的“最佳”方法是什么?
我有一个应用程序 - 更像是一个实用程序 - 它位于一个角落,定期更新两个不同的数据库。
它是一个小型的独立应用程序,是使用Spring应用程序上下文构建的。上下文在其中配置了两个休眠会话工厂,而使用在Spring中配置的Commons DBCP数据源。
目前没有事务管理,但我想添加一些。对一个数据库的更新取决于对另一个数据库的成功更新。
该应用程序不在 Java EE 容器中 - 它由从 shell 脚本调用的静态启动器类引导。启动器类实例化应用程序上下文,然后在其一个 Bean 上调用方法。
将事务性置于数据库更新周围的“最佳”方法是什么?
我将把“最佳”的定义留给你,但我认为它应该是“易于设置”,“易于配置”,“便宜”和“易于打包和重新分发”的一些功能。当然,FOSS会很好。