首页
学习
活动
专区
圈层
工具
发布

Java事务管理

事务管理 Java事务管理有三种类型: JDBC事务、JTA(Java Transaction API)事务、容器事务 1.1 JDBC事务 JDBC的一切行为包括事务是基于一个Connection的...事务 Java事务API(Java Transaction API,简称JTA) Java事务服务(Java Transaction Service,简称JTS) JTA和JTS一起,为J2EE...(如Tomcat、Jetty以及普通的java应用) JTA提供了 java.transaction.UserTransaction,里面定义了下面的方法: begin:开启一个事务 commit:提交一个事务...)的区别在于:XA可以参与JTA事务,而且不支持自动提交 下面是一个依赖于J2EE容器的,使用JTA事务的转账操作(需要通过JNDI方式获取UserTransaction与DataSource) public...) 一个事务管理器(Transaction) 1.3 容器事务 容器事务主要是J2EE应用服务提提供的,容器事务大多基于JTA实现,是基于JNDI的,相当复杂的API实现 EJB实现了相关服务 二、

95540

Java中事务总结详解

3.Java事务的类型 Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务。...因此,数据库操作的事务习惯上就称为Java事务。 使用 JDBC 事务界定时,您可以将多个 SQL 语句结合到一个事务中。  JDBC 事务的一个缺点是事务的范围局限于一个数据库连接。...2.JTA(Java Transaction API)事务 JTA是一种高层的,与实现无关的,与协议无关的API,应用程序和应用服务器可以使用JTA来访问事务。...使用EJB CMT的另外一个好处就是程序员无需关心JTA API的编码,不过,理论上我们必须使用EJB. 三种Java事务差异? 1、JDBC事务控制的局限性在一个数据库连接内,但是其使用简单。...一般说来,在单个JDBC 连接连接的情况下可以选择JDBC事务,在跨多个连接或者数据库情况下,需要选择使用JTA事务,如果用到了EJB,则可以考虑使用EJB容器事务。

4.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    java事务的使用_Java跨库事务

    Java有几种类型的事务? Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务。...通过JDBC事务,我们可以将多个SQL语句放到同一个事务中,保证其ACID特性。JDBC事务的主要优点就是API比较简单,可以实现最基本的事务操作,性能也相对较好。...2.JTA事务 JTA(Java Transaction API)提供了跨数据库连接(或其他JTA资源)的事务管理能力。...这意味着,如果我们使用JTA,就需要同时使用JTA和JNDI。 JTA本身就是个笨重的API,通常JTA只能在应用服务器环境下使用,因此使用JTA会限制代码的复用性。...3)、Java持久化API事务(JPA) Hibernate多年来一直是事实上的Java持久化标准,但是现在Java持久化API作为真正的Java持久化标准进入大家的视野。

    1.9K30

    JTA深度历险-原理与实现

    对于只操作单一数据源的应用,可以通过本地资源接口实现事务管理;对于跨数据源(例如多个数据库,或者数据库与 JMS)的大型应用,则必须使用全局事务 JTA (Java Transaction API)。...事务编程接口(JTA:Java Transaction API)和 Java 事务服务 (JTS:Java Transaction Service) 为 J2EE 平台提供了分布式事务服务。...我们可以将资源管理器看做任意类型的持久化数据存储;事务管理器承担着所有事务参与单元的协调与控制。...根据所面向对象的不同,我们可以将 JTA 的事务管理器和资源管理器理解为两个方面:面向开发人员的使用接口(事务管理器)和面向服务提供商的实现接口(资源管理器)。...官方网站“Java Transaction API Specification”提供了详细的 JTA 信息、包括版本, 规范等,感兴趣的读者可以参考。

    1.1K50

    【专业知识】java学习中的13个核心技术

    它使用了序列化方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更底层的协议。 5. Java IDL/CORBA: 在Java IDL的支持下开发人员可以将Java和CORBA集成在一起。...他们可以创建Java对象并使之可在CORBA ORB中展开,或者他们还可以创建Java类并作为和其它ORB一起展开的CORBA对象的客户。...JTA(Java Transaction Architecture): JTA定义了一种标准的API,应用系统由此可以访问各种事务监控。 11....该事务管理器是在高层支持Java Transaction API (JTA)规范,并且在较底层实现OMG OTS specification的Java映像。...MIME的字节流可以被转换成Java对象或者转换自Java对象。大多数应用都可以不需要直接使用JAF。

    1.1K130

    JTA规范

    JTA规范事务模型 Java事务API(JTA:Java Transaction API)和它的同胞Java事务服务(JTS:Java Transaction Service),为J2EE平台提供了分布式事务服务...某种程度上,可以认为JTA规范是XA规范的Java版,其把XA规范中规定的DTP模型交互接口抽象成Java接口中的方法,并规定每个方法要实现什么样的功能。...下面介绍一下在JTA规范中,模型中各个组件的作用: 事务管理器(transaction manager): 处于图中最为核心的位置,其他的事务参与者都是与事务管理器进行交互。...将事务管理器直接整合进应用中,不再依赖于application server。 资源管理器(resource manager): 理论上任何可以存储数据的软件,都可以认为是资源管理器RM。...因为在java程序中,我们都是通过client来于RM进行交互的,例如:我们通过mysql-connector-java-x.x.x.jar驱动包,获取Conn、执行sql,与mysql服务端进行通信;

    1.1K30

    使用Atomikos实现JTA分布式事务

    1 JTA规范 Java事务API(JTA:Java Transaction API)和它的同胞Java事务服务(JTS:Java Transaction Service),为J2EE平台提供了分布式事务服务...某种程度上,可以认为JTA规范是XA规范的Java版,其把XA规范中规定的DTP模型交互接口抽象成Java接口中的方法,并规定每个方法要实现什么样的功能。...将事务管理器直接整合进应用中,不再依赖于application server。 资源管理器(resource manager): 理论上任何可以存储数据的软件,都可以认为是资源管理器RM。...JTA规范是Java扩展包,在应用中需要额外引入相应的jar包依赖 javax.transaction 可以与spring声明式事务管理功能,因此我们可以通过一个简单@Transactional注解,即可实现分布式事务的功能。

    3.6K31

    深入Java事务的原理与应用

    三、Java事务的类型 Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务。...2、JTA(Java Transaction API)事务 JTA是一种高层的,与实现无关的,与协议无关的API,应用程序和应用服务器可以使用JTA来访问事务。...这使得我们可以简单的指定将哪个方法加入事 务,一旦指定,容器将负责事务管理任务。这是我们土建的解决方式,因为通过这种方式我们可以将事务代码排除在逻辑编码之外,同时将所有困难交给J2EE容 器去解决。...使用EJB CMT的另外一个好处就是程序员无需关心JTA API的编码,不过,理论上我们必须使用EJB. http://hovertree.com/menu/java/ 四、三种Java事务差异...一般说来,在单个JDBC 连接连接的情况下可以选择JDBC事务,在跨多个连接或者数据库情况下,需要选择使用JTA事务,如果用到了EJB,则可以考虑使用EJB容器事务 发布者:全栈程序员栈长,转载请注明出处

    37510

    Spring分布式事务实现

    如果使用WAS的JTA支持,把它的属性改为WebSphere对应的TransactionManager。         ...在tomcat下,是没有分布式事务的,不过可以借助于第三方软件jotm(Java Open Transaction Manager )和AtomikosTransactionsEssentials实现,...Transaction API,顾名思义JTA定义了一组统一的事务编程的接口,这些接口如下: XAResource  XAResource接口是对实现了X/Open CAE规范的资源管理器 (Resource...Transaction Transaction接口是一个事务实例的抽象,通过它可以控制事务内多个资源的提交或者回滚。二阶段提交过程也是由Transaction接口的实现者来完成的。...这个统一编程接口就是上图中的System Contracts和Client API。下面的UML类图将完美诠释资源适配器。

    96750

    Spring认证中国教育管理中心-Apache Geode 的 Spring 数据教程十八

    使用 Apache Geode API 一旦配置了 Apache Geode Cache 和 Regions,它们就可以被注入并在应用程序对象中使用。..." p:region-ref="SomeRegion"/> 配置模板后,开发人员可以将其与GemfireCallbackApache Geode一起使用,Region而无需处理检查异常、线程或资源管理问题...7.4.全局,JTA 事务管理 Apache Geode 也可以参与基于 JTA 的全局事务,例如由 Java EE 应用服务器(例如 WebSphere 应用服务器(WAS))使用容器管理事务(CMT...但是,无论您是在具有支持“最后资源”的开源 JTA 事务管理实现的独立环境中使用 Apache Geode ,还是在托管环境(例如 Java EE AS,如 WAS)中使用 Apache Geode,Apache...有关将Spring 的事务管理与 JTA 结合使用的更多详细信息,请参见此处。

    28810

    Spring事务管理涉及的接口的联系方式

    事务管理器   Spring并不直接管理事务,而是提供了多种事务管理器,他们将事务管理的职责委托给Hibernate或者JTA等持久化机制所提供的相关平台框架的事务来实现。...Java持久化API事务(JPA)   Hibernate多年来一直是事实上的Java持久化标准,但是现在Java持久化API作为真正的Java持久化标准进入大家的视野。...Java原生API事务   如果你没有使用以上所述的事务管理,或者是跨越了多个事务管理源(比如两个或者是多个不同的数据源),你就需要使用JtaTransactionManager: transaction.jta.JtaTransactionManager"> 将事务管理的责任委托给javax.transaction.UserTransaction和javax.transaction.TransactionManager对象,其中事务成功完成通过UserTransaction.commit

    48200

    Spring声明式事务、编程式事务一文打尽

    Spring为事务管理提供了一个始终如一的抽象,优点如下: 提供不同事务的API但是一致的编程模型,如Java事务API(JTA)、JDBC、Hibernate和Java持久化API(JPA)。...支持声明式事务 比JTA更简单的编程式事务API 与Spring数据访问抽象的优秀集成 Spring框架事务模型的优点 习惯上,Java EE 开发者有两种事务管理方式:全局事务管理、本地事务管理,两者都有很大的局限性...应用服务器通过JTA管理全局性事务,而JTA API是非常笨重的。另外,一个JTA的UserTransaction通常需要从JNDI中加载资源,意味着使用JTA必须配置JNDI。...使用首选的声明式事务模型,开发者仅需要编写一点点与事务管理关联的代码,因此,不需要依赖Spring框架事务的API或其他事务API。...后一种情况的含义是,与Java EE事务上下文一样,事务状态与执行线程相关联。

    1.3K00

    Java EE应用服务器的事务管理

    子交易可以提交或回滚,而不需要整个交易提交或回滚。 JTA(Java Transaction API )规范不要求支持嵌套事务模型。大多数 JTA 实现只支持扁平事务模型。...Java Transaction API (JTA) Java Transaction API (JTA) 是Java平台上的一个事务处理规范,它为 Java 应用程序提供了一组统一的事务处理接口。...该图还显示了 JTA 与 Java事务服务(JTS)的关系。 JTA 组件被定义在 javax.transaction和 javax.transaction.xa 两个包内。...Java Transaction Service (JTS) 是 OTS 的 Java 映射, JTA 推荐使用 JTS 作为其底层事务系统的实现。...Java 应用服务器通过 JTA 接口访问事务管理功能,JTA 通过 JTS 与事务管理的实现进行交互。同样,JTS 可以通过 JTA XA 接口访问资源,也可以访问启用 OTS 的非 XA 资源。

    49210

    重点来了:事务一致性的深入研究&EJB的全生命周期 | 从开发角度看应用架构5

    Java EE标准定义了Java Transaction API(JTA),它为运行在Java EE兼容应用程序服务器上的应用程序提供事务管理。...此API为应用程序中的提交和回滚事务提供了一个方便的高级界面。例如,如果Java持久性API(JPA)与JTA一起使用,则开发人员不必在应用程序源码中编写跟踪SQL提交和回滚语句。...JTA API以独立于数据库的方式处理这些操作。...JTA有两种不同的方式来管理Java EE中的事务: 隐式/容器管理事务(Implicit or Container Managed Transaction:CMT):应用程序服务器管理事务边界并自动提交和回滚事务...开发人员可以使用称为“事务属性”的注释来覆盖方法级别的默认事务行为。 使用CMT的EJB不得使用任何与应用程序服务器的事务范围和边界冲突的JTA API方法。

    1K40

    Spring 事务管理

    Java 事务类型 JDBC 事务:用 Connection 对象控制的手动模式和自动模式; JTA(Java Transaction API)事务:与实现无关的,与协议无关的 API; 容器事务:应用服务器提供的...,且大多是基于 JTA 完成(通常基于 JNDI 的,相当复杂的 API 实现) 4....三种事务的差异 JDBC 事务:控制的局限性在一个数据库连接内,但是其使用简单。 JTA 事务:功能强大,可跨越多个数据库或多 DAO,使用比较复杂。...JTA 事务管理器(JtatransactionManager) 本管理器将事务管理的责任委托给 javax.transaction.UserTransactin 和 javax.transaction.TranasactionManager...声明式事务有助于用户将操作与事务规则进行解耦 基于 AOP 交由 Spring 容器实现 实现关注点聚焦在业务逻辑上 3.

    92640

    干货!Hibernate事务and并发问题处理

    在JDBC API中,java.sql.Connection类代表一个数据库连接。...2.1.JDBC API声明事务的示例代码如下: Hibernate对JDBC进行了轻量级的对象封装,Hibernate本身在设计时并不具备事务处理功能,平时所用的Hibernate的事务,只是将底层的...2.2.Hibernate中使用JDBC事务: Hibernate 使用JDBC transaction处理方式如下所示: 2.3.Hibernate中使用JTA事务: JTA(java Transaction...JTA具有的3个接口:UserTransaction接口、TransactionManager接口和Transaction接口,这些接口共享公共的事务操作。...在数据库表中加入一个version(版本)字段,在读取数据时连同版本号一起读取,并在更新数据时比较版本号与数据库表中的版本号,如果等于数据库表中的版本号则予以更新,并递增版本号,如果小于数据库表中的版本号就抛出异常

    1.9K100
    领券