`
harry9888
  • 浏览: 67497 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
文章分类
社区版块
存档分类
最新评论

Flex解决方案中的事务:可能性一:JTA

阅读更多
-------------------以下引用一个网友对主题的回复

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传来传去。
分享到:
评论

相关推荐

    解决Missing artifact javax.transaction:jta:jar:1.0.1B

    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事务

    JTA(Java Transaction API) 为 J2EE 平台提供了分布式事务服务。  要用 JTA 进行事务界定,应用程序要调用 javax.transaction.UserTransaction 接口中的方法。

    多数据源事务之解决方案jta+atomikos

    "多数据源事务之解决方案jta+atomikos"这个主题正是针对这一挑战提出的。JTA(Java Transaction API)和Atomikos是两个关键的组件,它们一起为Java应用提供了强大的分布式事务管理能力。 首先,JTA是Java平台企业版...

    Spring配置JTA事务管理

    本篇文章将深入探讨如何在Spring中配置JTA事务管理,以实现跨数据库和资源的事务一致性。 首先,让我们了解JTA的基本概念。JTA是一个规范,它定义了接口和API,使得应用程序可以控制跨越多个数据存储(如数据库、...

    JTA分布式事务使用示例代码

    JTA(Java Transaction API)是Java平台上的一个标准接口,用于处理分布式事务,它允许应用程序在不同的数据源之间进行协调,确保事务的ACID特性(原子性、一致性、隔离性和持久性)。本示例代码旨在展示如何在Java...

    Springboot 动态多数据源 jta分布式事务

    JTA是Java平台中处理分布式事务的标准API,它允许应用程序在一个全局事务中操作多个资源(如数据库、消息队列等)。Spring Boot支持JTA事务管理,主要通过以下组件实现: 1. Atomikos:这是一个开源的JTA实现,提供...

    分布式事务JTA之实践:Spring+ATOMIKOS

    分布式事务在IT行业中是至关重要的一个领域,尤其是在大型企业级应用和互联网服务中,确保数据的一致性和完整性是系统设计的基础。本篇文章将探讨如何在Java环境中,利用Spring框架和Atomikos这样的第三方工具实现...

    Springboot+Atomikos+Jpa+Mysql实现JTA分布式事务

    在IT行业中,分布式...总之,Spring Boot、Atomikos、JPA和MySQL的组合提供了一种强大的解决方案,能够在复杂的分布式环境中保证数据的一致性。理解和掌握这一技术栈,对于提升你在IT领域的专业技能有着显著的帮助。

    多数据源事务jta测试

    这篇博客"多数据源事务jta测试"可能探讨了如何在Java环境中利用JTA来实现对不同数据库的事务一致性。 JTA允许应用程序进行分布式事务处理,这意味着一个事务可以跨越多个数据库或者其他事务资源。这对于那些需要在...

    JDBC事务和JTA(XA)事务

    使用JTA事务可以确保分布式事务的一致性和可靠性,例如,在一个分布式事务中,如果某个资源管理器执行失败,可以使用rollback()方法来回滚事务,以确保分布式事务的一致性。 JTA事务工作流程 JTA事务工作流程可以...

    JDBC事务 JTA事务 传播特性 隔离级别

    在Java编程中,处理事务主要涉及JDBC(Java Database Connectivity)和JTA(Java Transaction API)。理解这些概念对于开发可靠的、高性能的数据库应用至关重要。 首先,让我们从事务的四大特性说起: 1. **原子性...

    JTA事务源码示例

    Spring+iBatis+JOTM实现JTA事务: 如何处理跨库事物:spring + jtom 的jta事务是个很好的选择. 这个源码示例非常不错,包括所有的源码和jar包,下载后eclipse 或 myeclipse 导入就能用。 里面有详细的说明和注释,...

    springboot整合JTA组件,多数据源事务管理

    下列任一个Java平台的组件都可以参与到一个JTA事务中 2、分布式事务 分布式事务(DistributedTransaction)包括事务管理器(TransactionManager)和一个或多个支持 XA 协议的资源管理器 ( Resource Manager )。 ...

    使用JTA实现跨库事务

    6. **异常处理**:在使用JTA时,必须正确处理异常,因为事务可能会在任何时刻失败。通常,你需要捕获`SystemException`和`UserTransactionException`,并相应地回滚事务。 在提供的"SimpleDemo"示例中,可能包含了...

    spring+jotm+ibatis+mysql实现JTA分布式事务

    Spring支持JTA(Java Transaction API),这是一个Java标准,用于定义应用程序与事务管理器之间的接口,使得在分布式环境中进行事务处理变得可能。 JOTM(Java Open Transaction Manager)是Java世界中的一个开源...

    分布式事务操作之Spring+JTA+mybatis源码

    分布式事务在现代企业级应用中扮演着至关重要的角色,特别是在多服务、微服务架构中,确保数据的一致性和完整性是必不可少的。本话题主要聚焦于如何在Spring框架中结合Java Transaction API (JTA) 和 MyBatis 实现...

    Spring Boot+Druid+Mybatis实现JTA分布式事务

    Mybatis则是一个轻量级的持久层框架,它简化了SQL操作,但在JTA事务中,Mybatis需要配合Spring的TransactionManager来工作,使得每个数据库操作都在同一个事务上下文中。 实现步骤如下: 1. 添加依赖:在Spring ...

    在Spring中使用JTA事务管理

    在Spring框架中,JTA(Java Transaction API)事务管理是一种用于处理分布式事务的高级机制,它允许应用程序在多个数据源之间进行协调的事务操作。本文将详细介绍如何在Spring中使用JTA事务管理,包括通过集成JOTM...

    springboot整合jta实现多数据源事务管理

    在Spring Boot应用中,整合JTA(Java Transaction API)实现多数据源事务管理是一个常见的需求,特别是在分布式系统中,为了确保数据的一致性和完整性。本文将深入探讨如何配置和使用Spring Boot与JTA来管理多个...

Global site tag (gtag.js) - Google Analytics