我了解到的一些transaction有cmt, bmt, jdbc, jta, global, local, user我被这些概念搞糊涂了,求高手全面讲解一下这些transaction的关系以及大概的思想,还有它们都是哪些组织制定的
解决方案 »
- 求大神帮忙,JSP+Servlet 问题
- 高手帮下忙。JPA实体关系映射中,一对多关系映射怎么设定?
- 怎么去掉com.opensymphony.xwork2.util.logging.commons.CommonsLogger的error信息
- Ibatis 调用 orcle 存储过程
- 高手们帮忙看看这个错误如何解决!!!!!
- 一台机器上多个服务器部署时的端口问题
- 一個簡單的struts的控件問題(急)
- 关于jsp的forward和request.getRequestURL()的疑惑,请达人来解决一下
- 有没有研究SHARK的朋友,近来交流一下
- 请问J2EE(Java)中如何调用CORBA组件?
- hibernate查询和输出问题
- @Controller问题
暂时不用去管那些诸多规范..
找个数据库oracle或者sql server,开始深入学习其事务特性就行..
bmt:bean自己管理事物
jdbc:是套操作数据库的接口
jta:Java Transaction API
global:估计你的意思是指全局事务,站在一个更高的层次上去看待事务,可以同时操作多个数据库,而且还可以保持操作多个数据库时事务的一致性,原子性,隔离性,持久性。用JTA可以实现全局事务,内部实现是二次提交协议
local:本地事务,通常只能操作一个数据库,直接用数据库的事务处理
user:?
1. 在j2ee的规范里,transaction分为cmt和bmt, bmt就是指的jta. cmt和bmt的区别大家应该都知道; jta又可以使用jdbc或普通的user transaction。至于user transaction, 应该是jta里的一个interface。
(jdbc这里指的是jdbc transaction,不是说的jdbc)2. global和local好像是IBM提出的一个概念,区别就在于是二次提交还是一次提交。使用上的区别就是看用的是xa的datasouce还是普通的datasource. 好像都可以用jta来实现。global和local都是jta的东西我的一些疑惑:
1. 当需要跨不同类型的database时,jdbc和global就是一回事,就是指的用jta来操作xa的datasource
2. 求一个global的例子。二次提交怎么指定什么时候做第一次提交,什么时候做第二次