J2ee web程序的service层中的事务怎样处理才比较合理?

07-12-21 wilson751
目前在一个遗留系统上增加新功能,该系统采用的struts和hibernate,没有使用spring来对service层进行管理。我在增加新功能的时候,业务逻辑放在service层来实现,遇到一个问题:怎样在service层对事务进行合理的控制?

一个service方法中,通常要调用多个dao方法,这时,service的方法才是一个事务单元。

第一个问题:service方法中的每个dao方法共用一个session,还是各用各的?

如果共用一个session,service方法中只要调用HibernateUtils来得到一个session,接着开始事务,然后执行多个dao方法,然后提交事务,关闭session就可以了。

如果各用各的,在service方法中获得事务,然后将session管理放到每个dao方法中,这时,service方法中的事务要跨越多个session,这时必须用JTA实现(查资料所得).

第二个问题:有些情况下,需要把service方法中调用的多个dao方法中的每一个设置成事务单元,这时怎样处理service方法的事务和dao方法的事务?肯定不能是service方法作为一个事务单元,而它调用的每个的每个dao方法也各自处理成一个事务单元吧?

jenwalg
2007-12-21 18:20
朋友,你2007年3月7日发的题目为“有人用过JBoss Federated SSO吗?”的贴子中的问题解决了吗?我也遇到了这个问题,在网上找了一天也没找到答案,如果你有解决方案能不能告诉我呀?小弟先表示感谢了!! 联系方式:QQ:841453 Email:841453@qq.com MSN:jenwalg@hotmail.com

谢谢罗!朋友拜托了!!!!!!!!!!!!!!!!!

jenwalg
2007-12-21 18:21
朋友,你2007年3月7日发的题目为“有人用过JBoss Federated SSO吗?”的贴子中的问题解决了吗?我也遇到了这个问题,在网上找了一天也没找到答案,如果你有解决方案能不能告诉我呀?小弟先表示感谢了!! 联系方式:Q Q:841453 Email:841453@q q.com MSN:jenwalg@hotmail.com

谢谢罗!朋友拜托了!!!!!!!!!!!!!!!!!

wilson751
2007-12-23 14:49
banq大哥呢,给指点一哈吧,谢谢了先.

java eye的一帮高人鄙视我的问题,气得我够戗

[该贴被wilson751于2007-12-23 14:50修改过]

gougou3250
2007-12-24 10:53
业务层jta

wilson751
2007-12-24 11:23
gougou3250:这位大哥能否给详细说说?

goosped
2007-12-25 10:36
gougou3250

看过你的帖子,发现你在研究activemq等消息中间件,我最近因为项目需要也得开始学习,但发现资料很少,英文资料也不充足。

希望能留个联系方式,交流交流

我的:

Email:wzylost@gmail.com

QQ:241405707

gougou3250
2007-12-25 17:01
你可以看下 jta 跟 jdbc transaction的区别先

不用拦截器的话 dao层方法肯定是不同的

参考spring

猜你喜欢