本站首页
管理页面
写新日志
退出
[QQ:172832876] [MSN:lanlanq@hotmail.com]
麒麟在天欢迎您
.:
日期
«
September 2025
»
日
一
二
三
四
五
六
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
.:
我的分类
首页(64)
J2EE(27)
架构设计(1)
休闲时刻(8)
C++/C#(DotNet)(9)
项目管理(8)
Lotus Notes(6)
.:
最新日志
继承ConfigurationSecti
做正确的事,正确的做事[续1]
c# 数据库连接管理类
做正确的事,正确的做事
摄像头控件(C#)选像,拍照,保存不同数
从网上找的 content-type 类
引发类型为“System.Windows
java.security 类 Acc
instanceof
计算日期
.:
显示信息
blog名称:
日志总数:64
评论数量:34
留言数量:3
访问次数:342794
建立时间:2006年3月10日
.:
留言板
签写新留言
我也向往美好的生活
.:
链接
奕友软件
宋传芳的Blog
公告
在属于自己的一片天空中,敲打着键盘,记录下自己感兴趣和认为自己因该回忆的碎片,可能是财富,也可能是不足,过后你会发现你的进步,这就足够。
[J2EE]
学习spring 的事务处理机制,总结
网上资源
,
随笔
,
读书笔记
,
心得体会
,
软件技术
luckystar
发表于 2006/3/16 14:41:06
采用的模式AOP模式-面向切面编程 两个核心-platformtransactionManager和transactionStatus PlatformTransactionManager直译过来就是平台相关事务,这里的平台指的是“事务源”,包括刚才我说的DataSource,jta等等。这些无一不是一个事务源。广义的说,凡是可以完成事务性操作的对象,都可以设计出相对应的PlatformTransactionManager,只要这个事务源支持commit,rollback和getTransaction语意.(网上采取) 一个例子从网上摘取 HibernateTransactionManager java代码: protected void doCommit(DefaultTransactionStatus status) { HibernateTransactionObject txObject = (HibernateTransactionObject) status.getTransaction(); if (status.isDebug()) { logger.debug("Committing Hibernate transaction on session [" + txObject.getSessionHolder().getSession() + "]"); } try { txObject.getSessionHolder().getTransaction().commit(); } ... }那么platformtarnsactionManager依据TransactionStatus 进行处理事务。查看这个接口类的源码你会发现isNewTransaction() ,isRollbackOnly(),setRollbackOnly() 。 PlatformTransactionManager就是根据isNewTransaction()和isRollbackOnly()决定是否要创建一个新的事务,是要进行commit还是要rollback.而setRollbackOnly()是改变事务当前的状态。 总结(网上摘取)spring的事务由PlatformTransactionManager管理,manager最后调用事务源的方法来实现一个事务过程。而manager通过TransactionStatus 来决定如何实现。 。。。。。。。未完待续。。。
阅读全文(2510)
|
回复(0)
|
编辑
|
精华
发表评论:
昵称:
密码:
主页:
标题:
验证码:
(不区分大小写,请仔细填写,输错需重写评论内容!)
站点首页
|
联系我们
|
博客注册
|
博客登陆
Sponsored By
W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144780334 times.
《全国人大常委会关于维护互联网安全的决定》
《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号