
文章插图
Figure 2. WebLogic Server's transaction monitor (click the image for a full-size screen shot)
Spring的WebLogicJtaTransactionManager有效地为基于Spring的应用提供了WebLogic Server事务管理的全部功能 。这使得Spring事务分离成为一种能与EJB CMT竟争的产品,而且提供了相同级别的事务支持 。
Spring and EJB CMT如上所示,Spring的POJO声明性事务分离可以作为一种除传统EJB CMT这外的选择 。但是Spring与EJB并不是完成互斥的,Spring的应用上下文也可以作为EJB façade的后台来管理数据访问(DAO)和其他细纹理的业务对象 。
在EJB情景中,事务是由EJB CMT来驱动的 。对Spring来说,数据访问支持特性会自动检测到这样的环境并且采用相应的事务 。例如,Spring对Hibernate的支持能够提供隐式的资源管理,即使是EJB驱动的事务,甚至可以在不需要修改任何DAO代码的情况下提供相同的语义 。
Spring有效的解耦了DAO实现与实际的运行环境 。DAO可以参与Spring的事务就像参与EJB CMT事务一样 。这不仅简化在其他环境中的重用,而且更方便在J2EE容器外进行测试 。
【详解阿里P7架构师是怎么在Spring中实现事务暂停】
结论Spring框架为J2EE和非J2EE环境提供了全量的事务分离的特性,特别表现在POJO的声明性事务上 。他用一种灵活而非侵入式的方式为非EJB环境中的事务分离提供了便利 。与EJB不同,这样的事务性POJO应用对象可以很容易的被测试和在J2EE容器外补重用 。
Spring提供了各种事务策略,如JtaTransactionManager是用来代理J2EE服务器的事务协调器,而JDBC DataSourceTransactionManager是用来为简单的JDBC DataSource(就是单一目标数据库)执行事务 。Spring可以很容易为不同的环境通过后台配置的简单修改来调整事务策略 。
超越标准的JTA支持,Spring为WebLogic Server的JTA扩展提供了完善的集成,可以支持高级特性如事务监视和每事务隔离级别 。通过对WebLogic Server的特殊支持,基于Spring的应用可以完全利用WebLogic Server的事务管理功能 。
Spring事务分离是继EJB CMT之外的另一种可选方式,特别是对那些基于POJO的轻量级架构 。在那只是因为选择LSSB(本地无状态会话BEAN)来应用声明性事务的情况下,基于Spring的POJO服务模型是一种可行的选择,他提供了非常高层的灵活性、可测试性和重用性 。
Java肖先生:专注于Java开发技术的研究与知识分享!
推荐阅读
- Android系统架构浅析
- Android MVP 架构介绍与使用入门
- 阿里云ECS服务器被挖矿怎么解决
- 招财鱼风水命理和摆放详解
- 高山茶和阿里山的姑娘
- 华为P30pro偏光分离+贴合技术详解
- 慢品功夫茶 功夫茶茶艺8大步骤详解
- 阿里架构总监13张PPT一次讲透中台架构
- B/S架构web请求过程详解
- 阿里云虚拟主机配置ssl加密链接
