事务控制规则
根据实际情况事务控制规则划分为:
1. 不带参数方法
<method name="testTXInvoke"/>
说明:指定需要控制事务的方法为testTXInvoke,这里没有声明事务类型,默认的事务类型为REQUIRED_TRANSACTION
在这种规则下一旦方法执行时向外抛出异常,则会导致事务回滚,如果方法正常结束则事务提交。如果声明了回滚异常规则,则按照回滚异常规则控制事务的回滚和提交。
2. 带参数事务方法,只声明需要进行事务控制的方法信息,包括方法的名称和方法参数
<method name="testTXInvoke">
<param type="java.lang.String"/>
</method>
说明:指定需要控制事务的方法为testTXInvoke,并且方法的带一个String类型的参数,这里没有声明事务类型,默认的事务类型为REQUIRED_TRANSACTION
在这种规则下一旦方法执行时向外抛出异常,则会导致事务回滚,如果方法正常结束则事务提交。如果声明了回滚异常规则,则按照回滚异常规则控制事务的回滚和提交。
如果参数为数组时,需要配置param的type属性需要指定为特定类型的数组类型名称,比如字符串数组类型为:[Ljava.lang.String;
3. 指定事务类型规则
<method name="testTXInvoke" txtype="REQUIRED_TRANSACTION">
<param type="java.lang.String"/>
</method>
说明:指定需要控制事务的方法为testTXInvoke,并且方法的带一个String类型的参数,同时通过txtype属性明确地将事务类型指定为
REQUIRED_TRANSACTION
Txtype属性的取值范围如下,具体的含义参考【4.9.2】节:
NEW_TRANSACTION,
REQUIRED_TRANSACTION,
MAYBE_TRANSACTION,
NO_TRANSACTION
在这种规则下一旦方法执行时向外抛出异常,则会导致事务回滚,如果方法正常结束则事务提交。如果声明了回滚异常规则,则按照回滚异常规则控制事务的回滚和提交。
4. 通过模式指定控制事务的方法范围
<method pattern="testPatternTX[1-9.]*"
txtype="REQUIRED_TRANSACTION">
<param type="java.lang.String"/>
</method>
说明:通过pattern属性指定了一个模式testPatternTX[1-9.]*,表示以testPatternTX开头的所有方法都需要控制事务
Name属性和pattern属性只能设定一个,如果同时设定了两个属性,则只有pattern生效,name无效。
在这种规则下一旦方法执行时向外抛出异常,则会导致事务回滚,如果方法正常结束则事务提交。如果声明了回滚异常规则,则按照回滚异常规则控制事务的回滚和提交。
5. 指定事务的回滚异常
<method name="testSystemException">
<rollbackexceptions>
<exception class="com.chinacreator.spi.transaction.RollbackInstanceofException"
type="IMPLEMENTS"/>
</rollbackexceptions>
</method>
或者
<method name="testSystemException">
<rollbackexceptions>
<exception class="com.chinacreator.spi.transaction.RollbackInstanceofException"
type="INSTANCEOF"/>
</rollbackexceptions>
</method>
说明:声明事务方法时,可以通过rollbackexceptions和exception元素指定方
法事务回滚的异常信息,包括异常名称,异常的范围类型:IMPLEMENTS,INSTANCEOF。异常名称通过class属性执行,范围类型通过type属性指定,只能设置IMPLEMENTS和INSTANCEOF这两个值。IMPLEMENTS类型指异常只能是异常本身的对象,其子类不属于回滚异常,INSTANCEOF类型指异常本身和其子类都属于回滚异常。
除了指定的回滚异常需要回滚事务外,如果抛出的异常是系统级别的异常,即使这些异常没有进行声明,也会导致事务回滚。系统级别的异常是指以下几种异常:
java.lang.RuntimeException及其子类
java.lang.Error及其子类
另外以下几种异常也是默认回滚事务的异常:
java.sql.SQLException
javax.transaction.RollbackException
com.frameworkset.orm.transaction.TransactionException
相关推荐
3. **事务管理**:在TestTransaction.sql这个文件名中,我们可以推测BBoss Persistent也包含了事务管理功能。在处理CLOB和BLOB数据时,事务是至关重要的,因为它们确保了数据的一致性和完整性。如果在操作过程中发生...
4. **AOP(面向切面编程)**:BBoss MVCDemo支持AOP,可以实现如事务管理、日志记录、权限控制等功能,提高代码的复用性和可维护性。 5. **国际化与本地化**:框架内置了国际化和本地化支持,使得应用可以根据用户...
bboss会话共享是一种分布式会话管理技术,它针对在集群环境下应用部署时如何解决会话数据丢失和单点登录问题提供了专门的解决方案。根据提供的文档内容,我们可以详细探讨bboss会话共享涉及的关键知识点。 首先,...
展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:eshelloword-spring-boot-starter\src\test\java\org\bboss\elasticsearchtest\springboot\BBossESStarterTestCase.java 单集群演示功能...
2. **数据库操作**:BBoss提供了便捷的数据访问层(DAO),支持SQL动态生成、事务管理以及多种数据库的兼容性,使得数据库操作变得简单且高效。 3. **服务治理**:框架内置了服务注册与发现机制,可以实现微服务...
BBoss安全认证过滤器是Java Web开发中一种用于实现用户身份验证和权限控制的重要组件。在Web应用程序中,过滤器(Filter)是Servlet规范的一部分,它允许开发者在请求到达目标Servlet或JSP之前进行预处理,以及在...
3. `bboss-util-5.5.0.jar`和`bboss-persistent-5.5.0.jar`:这是BBoss框架的核心组件,提供了许多实用工具类和持久化操作支持,如数据库连接、事务管理等,为Elasticsearch的数据导入提供底层支持。 4. `...
Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿
本文将详细介绍如何在BBoss的IOC配置文件中引用外部属性文件,以便更好地管理和动态配置应用。 首先,BBoss的IOC配置文件通常是一个XML文件,比如`bboss-ioc.xml`,在这个文件中我们可以声明并配置各种bean。当需要...
BBoss 是一个针对 Elasticsearch 的企业级开发框架,它提供了丰富的 Java API,使得开发者可以更简单地进行索引管理、查询构建、结果分析等操作。BBoss 还支持多版本兼容,方便应对 Elasticsearch 的升级问题。 **...
除了基础操作外,bboss还提供了批量操作、事务控制、性能优化、异常处理等高级特性。例如,可以使用bboss的批处理API一次性处理大量数据,提高数据导入效率。 7. **应用场景** 结合bboss和Elasticsearch,开发者...
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
1. **事务管理**:支持数据库的ACID(原子性、一致性、隔离性、持久性)特性,确保数据的一致性和完整性。 2. **缓存机制**:提供缓存策略,减少对数据库的直接访问,提高性能。 3. **批量操作**:支持数据的批量...
为了便于管理和监控,bboss-datatran 提供了可视化的操作界面,用户可以查看作业状态、监控性能指标、调整作业配置等。此外,它还支持API接口,方便集成到自动化运维流程中。 ### 社区支持 作为开源项目,bboss-...
本培训文档将介绍集群session管理的发展历史、bbosssession的架构及特点、性能指标、与应用的集成方式、部署模式以及场景演示等,旨在帮助技术人员理解并掌握bbosssession的使用方法和优势。 一、集群session管理...
官方版本,亲测可用
bboss功能涵盖ioc,mvc,jsp自定义标签库,持久层,全局事务托管,安全认证,SSO,web会话共享,cxfwebservice服务发布和管理,hessian服务发布和管理等功能。另外还提供了符合中国式自由流的bboss activiti工作流...
1. **BBoss框架入门**:介绍如何安装配置BBoss,以及创建第一个项目的基本步骤。 2. **BBoss核心组件讲解**:详细解析BBoss的各个模块,如DAO、Service、权限控制等的使用方法。 3. **EasyUI组件使用**:讲解如何在...