-------------------以下引用一个网友对主题的回复
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 接口中的方法。
"多数据源事务之解决方案jta+atomikos"这个主题正是针对这一挑战提出的。JTA(Java Transaction API)和Atomikos是两个关键的组件,它们一起为Java应用提供了强大的分布式事务管理能力。 首先,JTA是Java平台企业版...
本篇文章将深入探讨如何在Spring中配置JTA事务管理,以实现跨数据库和资源的事务一致性。 首先,让我们了解JTA的基本概念。JTA是一个规范,它定义了接口和API,使得应用程序可以控制跨越多个数据存储(如数据库、...
JTA(Java Transaction API)是Java平台上的一个标准接口,用于处理分布式事务,它允许应用程序在不同的数据源之间进行协调,确保事务的ACID特性(原子性、一致性、隔离性和持久性)。本示例代码旨在展示如何在Java...
JTA是Java平台中处理分布式事务的标准API,它允许应用程序在一个全局事务中操作多个资源(如数据库、消息队列等)。Spring Boot支持JTA事务管理,主要通过以下组件实现: 1. Atomikos:这是一个开源的JTA实现,提供...
分布式事务在IT行业中是至关重要的一个领域,尤其是在大型企业级应用和互联网服务中,确保数据的一致性和完整性是系统设计的基础。本篇文章将探讨如何在Java环境中,利用Spring框架和Atomikos这样的第三方工具实现...
在IT行业中,分布式...总之,Spring Boot、Atomikos、JPA和MySQL的组合提供了一种强大的解决方案,能够在复杂的分布式环境中保证数据的一致性。理解和掌握这一技术栈,对于提升你在IT领域的专业技能有着显著的帮助。
这篇博客"多数据源事务jta测试"可能探讨了如何在Java环境中利用JTA来实现对不同数据库的事务一致性。 JTA允许应用程序进行分布式事务处理,这意味着一个事务可以跨越多个数据库或者其他事务资源。这对于那些需要在...
使用JTA事务可以确保分布式事务的一致性和可靠性,例如,在一个分布式事务中,如果某个资源管理器执行失败,可以使用rollback()方法来回滚事务,以确保分布式事务的一致性。 JTA事务工作流程 JTA事务工作流程可以...
在Java编程中,处理事务主要涉及JDBC(Java Database Connectivity)和JTA(Java Transaction API)。理解这些概念对于开发可靠的、高性能的数据库应用至关重要。 首先,让我们从事务的四大特性说起: 1. **原子性...
Spring+iBatis+JOTM实现JTA事务: 如何处理跨库事物:spring + jtom 的jta事务是个很好的选择. 这个源码示例非常不错,包括所有的源码和jar包,下载后eclipse 或 myeclipse 导入就能用。 里面有详细的说明和注释,...
下列任一个Java平台的组件都可以参与到一个JTA事务中 2、分布式事务 分布式事务(DistributedTransaction)包括事务管理器(TransactionManager)和一个或多个支持 XA 协议的资源管理器 ( Resource Manager )。 ...
6. **异常处理**:在使用JTA时,必须正确处理异常,因为事务可能会在任何时刻失败。通常,你需要捕获`SystemException`和`UserTransactionException`,并相应地回滚事务。 在提供的"SimpleDemo"示例中,可能包含了...
Spring支持JTA(Java Transaction API),这是一个Java标准,用于定义应用程序与事务管理器之间的接口,使得在分布式环境中进行事务处理变得可能。 JOTM(Java Open Transaction Manager)是Java世界中的一个开源...
分布式事务在现代企业级应用中扮演着至关重要的角色,特别是在多服务、微服务架构中,确保数据的一致性和完整性是必不可少的。本话题主要聚焦于如何在Spring框架中结合Java Transaction API (JTA) 和 MyBatis 实现...
Mybatis则是一个轻量级的持久层框架,它简化了SQL操作,但在JTA事务中,Mybatis需要配合Spring的TransactionManager来工作,使得每个数据库操作都在同一个事务上下文中。 实现步骤如下: 1. 添加依赖:在Spring ...
在Spring框架中,JTA(Java Transaction API)事务管理是一种用于处理分布式事务的高级机制,它允许应用程序在多个数据源之间进行协调的事务操作。本文将详细介绍如何在Spring中使用JTA事务管理,包括通过集成JOTM...
在Spring Boot应用中,整合JTA(Java Transaction API)实现多数据源事务管理是一个常见的需求,特别是在分布式系统中,为了确保数据的一致性和完整性。本文将深入探讨如何配置和使用Spring Boot与JTA来管理多个...