当前位置: 首页 > 图文教程 > Java技术 > Web框架 > Web框架:小编叙Spring的事务管理

Web框架
Struts开发过程中的异常处理机制
ServletContext与ServletConfig分析
使用Ajax的挑战
Web程序从Struts向Stripes框架的移植
Shale不是Struts
Web框架:基于Ajax的应用程序架构汇总
Web框架:使用Ajax技术开发Web应用程序
Web框架:简单理解Hibernate三种状态的概念及互相转化
Web框架:浅谈Struts2中拦截器应用
Web框架:Struts2中的Action
Web框架:Struts2高级文件上传
Web框架:小编谈嵌入XFire服务介绍及实现
Web框架:DWR中signatures标签的使用
WEB框架:小编总结Struts2的经典输入校验
WEB框架:小编祥谈Struts2的数据标签中Action与Bean标签的使用
Web框架:小议struts2类型转换
Web框架:小编浅谈Struts2的pub-sub事件模型
Web框架:小编简述JSF
Web框架:Hibernate事务管理
Web框架:Struts高级特性(StrutsAdvancedFeature)验证

Web框架:小编叙Spring的事务管理


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-12-26   浏览: 75 ::
收藏到网摘: n/a

J2EE的海洋里,事务的处理小编认为一般有两种模式,一种是依赖特定事务资源的事务处理和另外一种是依赖容器的参数化事务管理。下面小编分别说下,希望能够带给大家帮助。

1 依赖特定事务资源的事务处理

这是应用开发中最常见的模式,即通过特定资源提供的事务机制进行事务管理。

如通过JDBCJTA rollbackcommit方法;Hibernate Transaction

rollbackcommit方法等。这种方法大家已经相当熟悉。

2 依赖容器的参数化事务管理

通过容器提供的集约式参数化事务机制,实现事务的外部管理,如EJB 中的事

务管理模式。

如,下面的EJB事务定义中,将SessionBean MySessiondoService

法定义为Required

也就是说,当MySession.doServer 方法被某个线程调用时,容器将此线程

纳入事务管理容器,方法调用过程中如果发生异常,当前事务将被容器自动回

滚,如果方法正常结束,则容器将自动提交当前事务。

<container-transaction >

<method >

<ejb-name>MySession</ejb-name>

<method-intf>Remote</method-intf>

<method-name>doService</method-name>

<method-params>

<method-param>java.lang.String</method-param>

</method-params>

</method>

<trans-attribute>Required</trans-attribute>

</container-transaction>

容器管理的参数化事务为程序开发提供了相当的灵活性,同时因为将事务委

托给容器进行管理,应用逻辑中无需再编写事务代码,大大节省了代码量(特

别是针对需要同时操作多个事务资源的应用),从而提高了生产率。

然而,使用EJB 事务管理的代价相当高昂,撇开EJB 容器不菲的价格,EJB

的学习成本,部署、迁移、维护难度,以及容器本身带来的性能开销(这往往

意味着需要更高的硬件配置)都给我们带来了相当的困惑。此时事务管理所带

来的优势往往还不能抵消上面这些负面影响。