027_CoreAPI_JTA简介
直接使用
连接
setauto (false)commit
事务使用一个connection是管理不了的。
1.分布式事务
比如:
处理订单
order----> orderManage------>DB(产品信息)
------->DB2(财务信息)
依赖于数据库本身
一个连接保证在一个事务里
2.专门的事务管理器
transaction manage
分布在多台不同的数据库上,在做任何
使用transaction manage 进行提交,帮你记录第一个操作,如果错了,进行回滚。
xa driver
3.transaction manage往往是由application server来提供,tomcat不行,
tomcat借助spring可以,weblogic可以。
3.进行事务处理
一种是connection
一种的事务是JTA事务
4.java tranceaction api
在这里改成JTA
由中间件提供,tomcat不可实现。
5.上下文 thread JTA(分布式,需要中间件的支持)
JTA很少在两个数据库中做事务。
在面试的时候要非常流利的谈出来。
百度查的:
JDBC事务由Connnection管教,也即便说,事务管教切实上是在JDBC Connection
中告终。事务周期限于Connection的生命周期之内
JTA 事务管教则由 JTA 容器告终,JTA 容器对目前加入事务的许多Connection 进
行调动,告终其事务性要求。JTA的事务周期可横亘多个JDBC Connection生命周期。
在一个具有多个数据库的系统中,可能一个过程会调用几个数据库中的数据,必需一种散布式事务,可能准备用JTA来管教跨Session的长事务,那么就必需利用JTA事务。