-------------------以下引用一个网友对主题的回复
JTA只是编程接口的标准, 需要底层有Transaction Manager才能工作,Sun有个Java Transaction Service(JTS)的标准,来规范Transaction Manager,JOTM是个开源的对JTS的实现。
JTA/JTS是分布式事务处理(跨越多个数据库),如果只对一个数据库读写,完全没有必要用JTA/JTS,这些操作的代价是很高的,JDBC Connection的commit, rollback足已。
要在业务逻辑里,不用自己编程进行事务处理,据我知只有两种方法,1,EJB, 2, Spring. 要不你自己用AspectJ编个类似的来,够累啊。
以为要用JTA编程,就不用把Connection传来传去么,除了Connection要传,还要传个JTA的UserTransaction.
Java代码
import javax.transaction.*;
import javax.naming.*;
// ...
InitialContext ctx = new InitialContext();
Object txObj =
ctx.lookup("java:comp/UserTransaction");
UserTransaction utx = (UserTransaction) txObj;
utx.begin();
// ...
DataSource ds = obtainXADataSource();
Connection conn = ds.getConnection();
pstmt = conn.prepareStatement("UPDATE MOVIES ...");
pstmt.setString(1, "Spinal Tap");
pstmt.executeUpdate();
// ...
utx.commit();
// ...
import javax.transaction.*;
import javax.naming.*;
// ...
InitialContext ctx = new InitialContext();
Object txObj =
ctx.lookup("java:comp/UserTransaction");
UserTransaction utx = (UserTransaction) txObj;
utx.begin();
// ...
DataSource ds = obtainXADataSource();
Connection conn = ds.getConnection();
pstmt = conn.prepareStatement("UPDATE MOVIES ...");
pstmt.setString(1, "Spinal Tap");
pstmt.executeUpdate();
// ...
utx.commit();
// ...
还是用Spring吧,要不就把Connection传来传去。
分享到:
相关推荐
1. 解压文件得到:jta-1_0_1B-classes.zip 2. cmd进入zip文件所在目录 3. 执行下面命令从本地安装: mvn install:install-file -Dfile=./jta-1_0_1B-classes.zip -DgroupId=javax.transaction -DartifactId=jta -...
JTA(Java Transaction API) 为 J2EE 平台提供了分布式事务服务。 要用 JTA 进行事务界定,应用程序要调用 javax.transaction.UserTransaction 接口中的方法。
Spring+iBatis+JOTM实现JTA事务: 如何处理跨库事物:spring + jtom 的jta事务是个很好的选择. 这个源码示例非常不错,包括所有的源码和jar包,下载后eclipse 或 myeclipse 导入就能用。 里面有详细的说明和注释,...
多数据源事务可采用jta+atomikos方式来解决事务问题。
在Spring中使用JTA事务管理 1 通过集成JOTM,直接在Spring中使用JTA事务 1.1. 将JOTM以下类库添加到类路径中 1.2. 编写JOTM配置文件,放到类路径下 1.3. 在MySQL上建立两个数据库 1.4. 在Spring配置文件中配置JOTM ...
分布式事务解决方案「手写代码」,完整版视频教程下载。 课程大纲 1.基础概念:了解事务的ACID、CAP理论、BASE理论,为分布式方案打基础 2.2PC/3PC:通过2PC演化各种方案:XA方案、JTA、LCN、Seata 3.TCC:TCC不依赖...
在tomcat 中配置JTA 事务,方便管理web项目
JTA分布式事务处理多数据事务问题的示例代码。
例子虽小,可覆盖面广,设计spring载入.properties文件,spring配置jta和jotm分布式事务,设置数据源连接池,注解事务驱动。功能是在mysql上建立了两个数据库分别为dbone和dbtwo,在dbone里有表tb1,表中只有一个字段...
JTA配置文件请看applicationContext-jta.xml 博文链接:https://liran-email.iteye.com/blog/227990
有关JDBC事务 JTA事务 传播特性 隔离级别等等
jta-1.0.1.jar
1.利用mina框架重构api,脱离了web应用服务器resin,而原api的jta事务由...在支持jta事务的工具中选择了atomikos 2.Api的数据库连接配置参数没有类似:testQuery的参数,导致隔段时间后首次连接数据库失去数据库连接
EJB中的JTA与JTS例子代码,JTA是一种高层的,与实现无关的,与协议无关的J2ee API,应用程序和应用服务器可以使用JTA来访问事务。JTS则规定了支持JTA的事务管理器的实现规范,在高层API之下实现了OMG Object ...
spring + JTA + JOTM实现分布式事务, 高大上的技术
NULL 博文链接:https://sjsky.iteye.com/blog/1112012
Spring+iBatis+JOTM实现JTA事务
Spring Boot+Druid+Mybatis实现JTA分布式事务
JDBC事务和JTA(XA)事务
代码下载下来,想要了解更多相关内容可以看http://www.cnblogs.com/shamo89/p/7307961.html