事务处理是企业应用需要解决的最主要的问题之一。J2EE通过JTA提供了完整的事务管理能力,包括多个事务性资源的管理能力。但是大部分应用都是运行在单一的事务性资源之上(一个数据库),他们并不需要全局性的事务服务。本地事务服务已然足够(比如JDBC事务管理)。
本文并不讨论应该采用何种事务处理方式,主要目的是讨论如何更为优雅地设计事务服务。仅以JDBC事务处理为例。涉及到的DAO,Factory,Proxy,Decorator等模式概念,请阅读相关资料。
也许你听说过,事务处理应该做在service层,也许你也正这样做,但是否知道为什么这样做?为什么不放在DAO层做事务处理。显而易见的原因是业务层接口的每一个方法有时候都是一个业务用例(User Case),它需要调用不同的DAO对象来完成一个业务方法。比如简单地以网上书店购书最后的确定定单为例,业务方法首先是调用BookDAO对象(一般是通过DAO工厂产生),BookDAO判断是否还有库存余量,取得该书的价格信息等,然后调用 CustomerDAO从帐户扣除相应的费用以及记录信息,然后是其他
分享到:
相关推荐
JAVA设计模式之事务处理[收集].pdf
事务处理是企业应用需要解决的最主要的问题之一。J2EE通过JTA提供了完整的事务管理能力,包括多个事务性资 源的管理能力。但是大部分应用都是运行在单一的事务性资源之上(一个数据库),他们并不需要全局性的事务...
。
Java事务设计策略 pdf,这本书的内容梗概:总体介绍、本地事务模型、编程式事务模型、声明式事务模型、事务设计模式、客户端所有者的事务设计模式、领域服务器与委托所有者的事务设计模式,另有全文总结。
关于系统构建中事务处理的思路分享!欢迎大家多多下载。
Template模板设计模式改造threadlocal控制事务
本书系统介绍了设计模式和体系结构模式,这些模式可应用于分布式和企业应用程序。其中主要包含与事务处理、分布式计算、并发性和时间等相关的模式,还介绍了在面向对象程序设计中的数据库模式。本书主要内容还包括...
理解并使用设计模式,能够培养我们良好的面向对象编程习惯,同时在实际应用中,可以如鱼得水,享受游刃有余的乐趣. Proxy是比较有用途的一种模式,而且变种较多,应用场合覆盖从小结构到整个系统的大结构,Proxy是代理的...
班级事务-班级事务系统-班级事务系统源码-班级事务管理系统-班级事务管理系统java代码-班级事务系统设计与实现-基于ssm的班级事务系统-基于Web的班级事务系统设计与实现-班级事务网站-班级事务网站代码-班级事务平台...
班级事务-班级事务系统-班级事务系统源码-班级事务管理系统-班级事务管理系统java代码-班级事务系统设计与实现-基于ssm的班级事务系统-基于Web的班级事务系统设计与实现-班级事务网站-班级事务网站代码-班级事务平台...
用java来模拟事务间的并发处理 后台是用文件存储来模拟数据库数据 用到的技术有: 1) java Socket通信 2) java多线程缓冲 3) 各重java设计模式
infoq 迷你书最近阅读了InfoQ上的电子书<<Java Transaction Strategy>>之后受益匪浅, 单独花了两周时间将其翻译了一下. 由于英语只是四级水准, 所以翻译内容中的不足之处也请见谅. 附件里第一份是翻译后的文档, 第二...
java开发应聘常用面试题1
Java面试宝典:包含Redis各种使用场景,分布式事务,分布式锁,DB,异步并发,JVM,微服务组件,常见的设计模式,高级数据结构。