5.3、事务属性配置
spring中对于事务属性的配置可以有两种办法,一种是在<tx:advice/>的<tx:attributes />下的<tx:method />上配置属性,以指定对应的事务属性。
<tx:method />的有关设置
属性 |
默认值 |
描述 |
name |
|
与事务关联的方法名,可用通配符(*) |
propagation |
REQUIRED |
传播属性。可为:REQUIRED,SUPPORTS,
MANDATORY,REQUIRES_NEW,NOT_SUPPORTED,
NEVER,NESTED
|
isolation |
DEFAULT |
隔离级别 |
timeout |
-1 |
超时时间 |
read-only |
false |
是否只读/读写 |
rollback-for |
|
触发回滚的exceptions,以逗号分割 |
no-rollback-for |
|
不触发回滚的exceptions,以逗号分割 |
同时也可以在@Transactional中设置
属性 |
类型 |
propagation |
枚举型Propagation |
isolation |
枚举型Isolation |
readOnly |
布尔型 |
timeout |
int |
rollbackFor |
一组Class类的实例,必须为Throwable子类 |
rollbackForClassname |
一组class类的名字 |
noRollbackFor |
一组Class类的实例 |
noRollbackForClassname |
一组class类的名字
|
六、EJB3中的事务管理
EJB3对事务管理已做了大量的简化,它可以通过注解驱动的方式来声明方法的事务属性和能引起回滚的异常。
6.1、使用@TransactionAttribute注解
@javax.ejb.TransactionAttribute注解可以用来为EJB的bean class声明事务属性。如下:
public enum TransactionAttributeType {
MANDATORY,
REQUIRED,
REQUIRES_NEW,
SUPPORTS,
NOT_SUPPORTED,
NEVER
}
@Target({METHOD,TYPE})
public @interface TransactionAttribute {
TransactionAttributeType value() default TransactionAttributeType.REQUIRED
}
@TransactionAttribute可应用于session bean或单独的方法之上
6.2、使用@ApplicationException注解
在EJB3中默认情况下,应用异常是不会引起事务的回滚的,但我们可以使用@javax.ejb.ApplicationException注解强制要求应用异常自动回滚事务
该注解如下:
package javax.ejb;
@Target(TYPE) @Retention(RUNTIME)
public @interface ApplicationException {
boolean rollback() default false;
}
一个例子如下:
@ApplicationException(rollback=true)
public class PaymentException extends Exception{
public PaymentException(String msg){
super(msg);
}
}
分享到:
相关推荐
在本篇“Spring Hibernate 事务管理学习笔记(二)”中,我们将深入探讨Spring框架与Hibernate集成时如何实现高效、安全的事务管理。这是一篇关于源码分析和技术工具使用的文章,适合对Java开发和数据库操作有基础...
分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单来说,一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的...
在本篇“Spring.NET学习笔记16——事务管理Demo源码”中,我们将深入探讨Spring.NET的事务管理机制及其实际应用。 事务管理是软件开发中的关键部分,它确保数据库操作的一致性和完整性。Spring.NET通过其事务管理...
在IT行业中,SSH(Spring、Struts、Hibernate)是一个经典的Java Web开发框架组合,而这里的“SSH笔记-事务管理”主要关注的是Spring框架中的事务管理部分。Spring以其强大的依赖注入和面向切面编程能力,提供了灵活...
在学习过程中,阅读博客如《spring hibernate 事务管理学习笔记(一)》是非常有益的,它通常会包含具体的示例代码和实践建议。你可以参考这个博客链接(https://microjava.iteye.com/blog/525973),结合实际项目,...
这篇笔记将深入探讨SQL Server中的事务管理。 一、事务的四大特性(ACID) 1. 原子性(Atomicity):事务中的所有操作被视为一个单元,即使部分操作失败,整个事务也会被回滚,确保数据的完整性。 2. 一致性...
本笔记将重点讨论Spring中的AOP(面向切面编程)以及事务管理,同时简述JDBC中的事务处理。 1. **Spring AOP回顾** - Spring的AOP允许我们定义横切关注点,如日志、安全检查等,这些关注点可以被编织到应用程序...
这篇"Spring学习笔记(18)----使用Spring配置文件实现事务管理"着重讲解如何通过Spring的XML配置来管理应用中的事务。这里我们将深入探讨相关知识点。 首先,Spring提供了两种事务管理方式:编程式事务管理和声明式...
【标题】:“韩顺平java笔记,学生管理系统管理”涵盖了Java编程语言在开发学生管理系统中的应用,以及SQL数据库的基础知识。这个笔记集合可能是由知名讲师韩顺平教授的课程或教程整理而来,旨在帮助学习者理解和...
2. 个人事务管理系统的功能:个人事务管理系统通常具有日程管理、任务管理、事件管理、提醒管理、笔记管理等功能,旨在帮助个人更好地管理自己的日常事务和任务。 3. 个人事务管理系统的类型:个人事务管理系统可以...
其次,项目管理的过程可以概括为“某人按某种方式某种流程做某事”,具体可以分为人员、事务和处事方式三个方面。 在人员方面,项目经理需要合理利用项目助理和第一技术负责人这两个关键角色。项目助理应关注日常...
在本篇“Spring学习笔记(十五)——编程式事务例子”中,我们将深入探讨Spring框架中的编程式事务管理。在实际开发中,我们通常使用声明式事务管理,它基于AOP(面向切面编程)来简化事务处理。然而,有时为了更细...
#### 二、声明式事务管理 声明式事务管理主要通过注解和XML配置来实现。在Spring框架中,声明式事务管理是最常用的方式之一。 ##### 1. 配置事务管理器 首先需要配置一个事务管理器,通常情况下,我们可以通过...
信息系统管理工程师复习笔记涵盖了诸多专业知识点,是软考信息系统管理工程师考试的复习资料。以下知识点的详细解读: 1. CPU架构与组成:内容中涉及了CPU的基本组成,如控制单元(CU),算术逻辑单元(ALU),以及缓存...
《VC++学生个人事务管理系统详解》 在信息技术日益发达的今天,个人事务管理系统的应用越来越广泛,尤其是在教育领域。Visual C++(简称VC++)作为Microsoft公司开发的一种强大的Windows平台下的编程工具,结合MFC...
数据库系统是管理数据库的软件系统,支持数据的存储、查询、更新和事务管理。 8. 性能评估 计算机性能评估涉及多个指标,如MIPS(每秒百万条指令)、MFLOPS(每秒百万次浮点运算)、MTBF(平均无故障时间)、MTTR...
Spring框架以其强大的依赖注入和面向切面编程能力,为事务管理提供了简洁且高效的解决方案。 事务管理是任何多用户、多任务系统中的核心组成部分,确保数据的一致性和完整性。在Spring框架中,事务管理分为编程式和...
【个人事务管理系统】是一种以用户为中心的软件应用,旨在帮助用户高效地组织、跟踪和管理他们的日常事务。这种系统通常包含日程安排、任务管理、提醒功能、笔记记录以及项目协作等多个模块,使得用户能够更好地规划...
在Spring框架中,声明式事务管理是其核心特性之一,它允许开发者通过配置来控制事务的行为,而无需在代码中显式地管理事务的开始、提交、回滚等操作。这种方式使得事务管理更加灵活,也使得代码更加简洁,易于维护。...
事务管理是数据库系统中的关键部分,确保数据的一致性和完整性。学习笔记可能涵盖事务的ACID属性(原子性、一致性、隔离性和持久性)以及事务的提交、回滚和保存点。 2. **SQLPlus**:20120325_oracle琛ㄧ殑杩炴帴...