J2EE JTA和数据库的transaction研究

原创 2003年11月09日 22:08:00

研究有结果了,以下是我做了一些测试得出的结论(Sybase+Weblogic+Tx Data Source):

方法一:
1、设置方法为Container-Tracnsaction,方法的trans-attribute为Required
2、几个方法调用的SP创建前先set chained on,同时SP里是可以使用Tracnsaction的
3、此方法调用的几个方法使用同一Connection,Connection的setAutoCommitCommit使用默认设置或设为false,
若设为true,则抛出异常:Cannot set auto commit to "true" when in distributed transaction


方法二:
1、设置方法为Container-Tracnsaction,方法的trans-attribute为Required
2、几个方法调用的SP创建前先set chained on,同时SP里是可以使用Tracnsaction的
3、此方法调用的几个方法使用各自的Connection,各方法Connection的setAutoCommitCommit使用默认设置;
若设为true,则抛出异常:Cannot set auto commit to "true" when in distributed transaction;
若某方法设为false,同时在EJB的方法描述里把此方法的设置方法为Container-Tracnsaction,方法的trans-attribute
为Required, 则执行到此方法时会抛出异常:SET CHAINED command not allowed within multi-statement transaction.


方法三:
1、设置方法为Container-Tracnsaction,方法的trans-attribute为Required
2、同时各方法为Container-Tracnsaction,方法的trans-attribute为Required
3、几个方法调用的SP创建前先set chained on,同时SP里是可以使用Tracnsaction的
4、此方法调用的几个方法使用各自的Connection,各方法Connection的setAutoCommitCommit使用默认设置;
若设为true,则抛出异常:Cannot set auto commit to "true" when in distributed transaction;
若设为false,抛出异常:SET CHAINED command not allowed within multi-statement transaction.

java事务学习笔记(九)--深度剖析JTA原理与实现

通过本系列对java事务的学习,对事务的概念有了初步的了解,但是互联网的发展一日千里,数据量更是爆炸性增长,而普 通数据库也越来越成为应用系统的性能瓶颈,分布式数据库应运而生,相应的,java分...
  • JordanInShenzhen
  • JordanInShenzhen
  • 2016年03月28日 21:14
  • 1472

spring事务常见问题、异常分析和解决方法

1.spring事务超时transaction unexpectedly rolled back (maybe due to a timeout); nested exception is javax...
  • Mr_Smile2014
  • Mr_Smile2014
  • 2015年10月31日 19:48
  • 3284

Java JDBC事务与JTA分布式事务

Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务。 常见的容器事务如Spring事务,容器事务主要是J2EE应用服务器提供的,容器事务大多是基于...
  • boonya
  • boonya
  • 2016年08月19日 17:02
  • 1268

关于用spring的JtaTransactionManager,配置分布式事务

如果容器支持jta,那么spring配置起来非常简单,因为spring提供了JtaTransactionManager,在这里面提供了几乎所有的服务器的jta的jndi名字,比如 * "java...
  • super_scan
  • super_scan
  • 2014年09月19日 17:07
  • 6790

在修改Clob字段时,报错!

java.lang.IllegalStateException: Active Spring transaction synchronization or active JTA transaction...
  • gaozhichao_dy
  • gaozhichao_dy
  • 2014年01月07日 16:35
  • 1142

使用JOTM进行Tomcat的JTA调用

前段时间碰到一个需要访问多个数据库的例子,由于项目上是采用tomcat作为项目开发和布署,所以就没有考虑采用特定厂商的JTA实现,而是通过一个开源的JTA实现来完成tomcat和多个数据库之间的直接交...
  • andymu077
  • andymu077
  • 2015年07月20日 11:12
  • 1331

j2EE连接数据库的增删改查操作

String sql ="select * from users where name=? and password=?"; PreparedStatement pstmt = null; ...
  • coding_man_xie
  • coding_man_xie
  • 2016年03月15日 21:50
  • 2240

示例 代码 Java JTA XA transaction 分布式事务

JAVA JTA XARESOURCE TRANSACTION 分布式事务
  • conquer0715
  • conquer0715
  • 2015年11月16日 20:41
  • 5306

J2EE——JDBC连接数据库实例

上篇博客初步介绍了JDBC,并简单提到了连接数据库的4种不同驱动方式: (1)JDBC-ODBC桥驱动 (2)纯Java驱动 (3)本地API部分Java驱动 (4)JDBC网络纯Java驱动 本篇博...
  • hanxuemin12345
  • hanxuemin12345
  • 2013年12月28日 15:27
  • 5335

在Spring中使用JTA事务管理

http://www.qqread.com/java/2008/02/e396820.html  概述     Spring 通过AOP技术可以让我们在脱离EJB的情况下享受声明式事务的丰盛大餐,脱...
  • Baple
  • Baple
  • 2015年01月16日 10:32
  • 1503
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:J2EE JTA和数据库的transaction研究
举报原因:
原因补充:

(最多只允许输入30个字)