1.三种事务模型:本地事务模型、编程式事务模型、声明式事务模型。
2.本地事务模型实际上是用Connection的手动编码来管理事务,具体来说就是三部曲setAutoCommit(false) commit() rollback()。
3.编程式事务是在代码中通过获取事务上下文来管理事务的提交、回滚。对应EJB中的BMT。
4.声明式事务是在配置文件中配置事务的处理方式,而不需要在代码中显示调用事务的begin() commit()等方法。对应EJB中的CMT。
5.一般情况下,本地事务模型中对于Connection的操作是放在DAO里面的,但这种方式有很大的缺陷,如:业务层代码需要操作多张表时,一般需要将Connection对象放到DAO方法的参数中传递出去,才能手动管理事务,这样需要开发人员仔细审查DAO里面的代码保证单个请求总是产生单一的事务工作单元。这种方式对于需要跨数据库以及分布式事务的业务不能很好的支持。
6.编程式事务只是作为声明式事务的异常情况的特殊处理,一般不建议使用,需要使用该模型的主要有三种情况:需要由客户端发起事务、需要使用本地JTA事务做精细控制、一个事务跨越对服务器的多次请求。
7. 6种事务属性:required mandatory requires-new support not-supported never。给方法指派事务属性时,最好的做法是为类级别指派最严格的事务属性,而后在方法级别上按需微调。
8.事务管理应该在开启事务的方法中进行。因此,开始事务的业务方法具备调用setRollbackOnly()的责任。我目前公司的项目中采取的是通过反射来自动添加事务的方式。即,在调用一个业务方法时,在业务方法执行前自动开启事务,业务方法执行完毕后自动提交事务,业务方法执行过程中出现异常则自动回滚事务的方式。
9.四种隔离级别,从低到高:读取未提交,读取已提交,可重复读,可串行执行。(妈的,上周电话面试的时候一家公司的问我,我竟然忘了)。一般数据库厂商默认是读取已提交。我还真没碰到过用别的的场景。
10.Martin Fowler曾经说过“分布式对象设计的第一定律,不要使用分布式对象”。关于分布式是事务(XA),尽量不要用分布式事务。
11.三种事务设计模式:客户端管理事务、领域服务管理事务、服务器端代理(命令代理)管理事务。第三种实际上是第二种的特例。一般采用第二种。
现在回想起来,毕业后待的第一家公司做的几个项目就是用的第一种,Struts1.2+jdbc,五六个人做的小项目其实这种方式够用,但碰到更复杂的业务场景,那就。。。
另外,特别提一下,这本书的翻译确实非常专业,并且有深厚技术功底,翻译的文字的质量还是经得起考验的。
相关推荐
根据提供的文件信息,我们可以深入探讨“Java事务设计策略”这一主题。尽管提供的文件内容主要包含了出版信息而非具体的事务设计内容,但基于标题、描述及标签信息,我们可以推断出本书可能涉及的关键知识点,并据此...
### Java事务设计策略知识点概述 #### 一、事务模型分类 根据给定文件中的描述,事务模型主要可以分为三类: 1. **本地事务模式**:这种模式适用于单个资源的事务管理,例如单一数据库连接的事务处理。在这种模式...
本文将深入探讨Java中的事务设计策略,包括本地事务模型、编程式事务模型、声明式事务模型以及几种事务设计模式。 首先,我们来理解事务的基本概念。事务是数据库操作的基本单元,它保证了一组操作要么全部成功,...
在当今世界上有各种各样的企业级 Java 应用。虽然有些不过是简单的 Web 应用,只使用了 一些本地 JavaBeans 或 POJOs(Plain Old Java Objects),但还有很多是复杂的 N 层...都是由错误或没有使用事务管理策略造成的。
总结来说,Java事务模板设计模式结合ThreadLocal,提供了一种高效、健壮的事务管理策略。它减少了代码的重复性,提高了代码的可读性和可维护性,同时通过ThreadLocal解决了并发环境下的事务隔离问题。理解并熟练应用...
策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。在Java中,策略模式主要通过定义一系列的算法,并将每一个算法封装起来,使它们可以互相替换,让算法独立于使用它的客户而变化。 首先,策略模式的...
Java事务管理是应用程序中至关重要的部分,特别是在处理数据库操作时,确保数据的一致性和完整性。在Java中,事务管理可以通过多种方式实现,其中一种高效且灵活的方法是利用动态代理。动态代理可以帮助我们实现事务...
毕业设计—基于Java的Acme班级事务管理系统,已获老师指导并通过的高分项目。 毕业设计—基于Java的Acme班级事务管理系统,已获老师指导并通过的高分项目。毕业设计—基于Java的Acme班级事务管理系统,已获老师指导...
本源码项目是基于Java的分布式事务解决方案myth设计,包含402个文件,主要使用Java、JavaScript、Vue和HTML编程语言。该项目是一个采用消息队列解决分布式事务的开源框架,基于Java语言开发(JDK1.8),并支持dubbo...
Java架构设计示例文档涉及的知识点众多,通常它旨在为读者提供一个关于如何设计高效、可扩展和可维护的Java应用架构的参考。文档可能包含以下几个核心部分:需求分析、系统设计、技术选型、模块划分、接口设计、安全...
在Java编程中,Oracle数据库是常用的后端存储系统,而事务处理和异常回滚是确保数据一致性、完整性和可靠性的关键机制。以下是对这个主题的详细讲解。 首先,Oracle JDBC驱动程序是Java与Oracle数据库之间通信的...
java开发详细设计文档模板java开发详细设计文档模板java开发详细设计文档模板java开发详细设计文档模板java开发详细设计文档模板
MakeJPEG.java 4.5. 课程设计作业 第5章 标准化考试系统 (单机版) 5.1. 设计内容 5.2. 设计要求 5.3. 总体设计 5.4. 具体设计 5.4.1. 运行效果与程序发布 5.4.2. 主类EnglishTest 5.4.3....
实用性:《Java程序设计习题集》每章都含有一些趣味题,营造了一种轻松而快乐的学习氛围,努力培养和提高学生的学习乐趣,同时也使学生容易产生学习成就感。 趣味性:习题基本上覆盖了程序员在编写Java程序时...
总结,Java数据库系统设计涉及的内容广泛,包括JDBC、DAO模式、ORM框架、事务管理、连接池、SQL优化以及数据库设计原则等。掌握这些知识点,能够帮助开发者构建高效、可靠的数据库应用,满足企业的需求。在“dragon...
在Java中实现分布式事务需要考虑多种策略和工具。通过使用两阶段提交、Saga模式、TCC模式和分布式事务中间件,我们可以确保分布式系统中的数据一致性和事务的原子性。每种方法都有其适用场景和优缺点,选择合适的...
Java Web设计模式是一种在开发基于Java的Web应用程序时遵循的成熟解决方案,它们是解决常见问题的最佳实践。设计模式提供了一种标准的、可重用的方法来组织代码,提高可读性、可维护性和可扩展性。以下是Java Web...
Java Web项目企业事务管理系统源码,详细的代码注释 本系统的开发工具具体如下。 ● 系统开发平台:MyEclipse 6.5。 ● 数据库管理系统软件:MySQL 5.0。 ● 运行平台:Windows 2000/Windows XP/Windows 2003/...
Java毕业设计源代码是针对计算机科学与技术专业学生在毕业阶段进行的一项重要实践,它旨在检验和提升学生的编程技能、软件工程知识以及问题解决能力。Java作为一种广泛应用的面向对象编程语言,因其强大的跨平台特性...