JTA主要用于分布式的多个数据源的两阶段提交的事务,而JDBC的Connection提供的单个数据源的事务; 后者因为只涉及到一个数据源,所以其事务可以由数据库自己单独实现, 而JTA事务因为其分布式和多数据源的特性, 不可能由任何"一个"数据源实现事务, 因此JTA中的事务是由"事务管理器"实现的,它会在多个数据源之间统筹事务,具体使用的技术就是所谓的"两阶段提交", 一般JTA事务都是用于EJB中(因为EJB本身也是分布式的), 所以一般的应用服务器都有自己的事务管理器用来管理JTA事务,注意这并不表示EJB容器有管理事务的功能; 事实上也有单独的事务管理器比如开源的Tyrex. 如果只用Tomcat做应用服务器的话是不能使用JTA事务的;
JTA与JDBC
最新推荐文章于 2018-10-07 21:47:12 发布
本文探讨了JTA在分布式多数据源事务中的角色,与JDBC单数据源事务的区别。JDBC事务可由数据库自身管理,而JTA事务通过事务管理器协调多个数据源,采用两阶段提交策略。通常,JTA事务应用于EJB,并由应用服务器或独立事务管理器如Tyrex来管理。值得注意的是,Tomcat不支持JTA事务。
摘要由CSDN通过智能技术生成