美文网首页
java平台的事务支持

java平台的事务支持

作者: 磊哥小伙子 | 来源:发表于2017-02-08 14:46 被阅读3次

java的局部事务场景中,系统里事务管理的具体处理方式会随着所使用的数据访问技术的不同而异。java平台不使用专用的api来管理事务,而是通过当前使用的数据访问技术所提供的基于connection的api来管理事务。

jdbc:讲数据库连接的自动提交功能设置为false,改为手动提交来控制整个事务的提交或者回滚。hibernate是通过hibernate的session来控制。

java平台的分布式事务支持主要通过JTA或者JCA提供支持。分布式不懂,先不说

反思:

1、局部事务的管理绑定到了具体的数据访问方式。

这样导致的问题就是事务管理代码和数据访问代码甚至业务逻辑代码相互混杂,因为我们使用的是数据访问的api进行事务控制。实际使用中,不能通过合适的方式将事务管理和数据访问代码甚至业务代码进行逻辑上的隔离,将直接导致数据访问代码和业务逻辑代码的可重用性降低,甚至事务管理代码在数据访问层和业务服务层的到处散落。一句话,数据访问和事务管理过紧耦合。

2、事务的异常处理。

事务处理过程中的异常应该都是不可恢复的,所以应该抛出unchecked异常,并且有一个统一的父类,便于客户端处理。但是现在的情况是:没有统一的事务相关异常体系。许多事务管理代码在使用过程中还是抛出checked exception,这强制客户端来捕获和处理它。

3、事务处理api的多样性。

没有统一的方式管理,使事务管理变得繁杂。

4、CMT声明式事务的局限。

相关文章

  • java平台的事务支持

    java的局部事务场景中,系统里事务管理的具体处理方式会随着所使用的数据访问技术的不同而异。java平台不使用专用...

  • 六、Spring的事务

    Spring支持的事务策略: Java EE应用的传统事务有两种策略:全局事务和局部事务。全局事务由应用服务器管理...

  • JVM学习笔记

    什么是Java虚拟机 各个硬件平台本身不支持Java字节码,Java虚拟机就是在不同硬件平台上支持Java字节码的...

  • Spring事务管理知多少?面试时会讲吗?工作时会用吗?来点简单

    Spring事务的其实就是数据库对事务的支持,使用JDBC的事务管理机制,就是利用java.sql.Connect...

  • Spring 事务

    Spring可以支持编程式事务和声明式事务。 编程式事务 实现 Spring使用事务管理器,每个不同平台的事务管理...

  • golang的嵌套事务管理

    golang的事务管理是一件很麻烦的事,,能不能像Java那样,通过Spring管理事务,可以支持事务扩散机制,最...

  • java事务

    1、java事务介绍 2、JDBC事务 3、JTA事务 1、java事务介绍 java事务分类:JDBC事务、...

  • Realm的操作

    简介   Realm是跨平台的移动数据库引擎,支持ios,android平台,支持oc、swift、java、RN...

  • Weed3 for java 新的微型ORM框架

    Weed3,微型ORM框架(支持:java sql,xml sql,annotation sql;存储过程;事务;...

  • Java平台的脚本支持

    Java平台为桌面和Web应用程序开发提供了丰富的资源。是,除非有专有软件解决方案,否则从平台外部使用其他资源是不...

网友评论

      本文标题:java平台的事务支持

      本文链接:https://www.haomeiwen.com/subject/qewvittx.html