- 浏览: 667692 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (364)
- quick start (57)
- bboss aop (43)
- bboss mvc (48)
- bboss persistent (96)
- bboss taglib (30)
- bboss event (10)
- bbossgroups (52)
- bboss (32)
- bboss会话共享 (17)
- bboss rpc (7)
- bboss 国际化 (5)
- bboss 序列化 (9)
- bboss cxf webservice (8)
- bboss hessian (3)
- bboss 安全认证SSO (15)
- bboss 工作流 (6)
- 平台 (18)
- bboss quartz (3)
- 杂谈 (5)
- 大数据 (1)
- bboss elastic (24)
- bboss http (1)
- bboss kafka (1)
- Elasticsearch Scroll和Slice Scroll查询API使用案例 (1)
最新评论
-
qianhao123:
...
采用gradle构建和发布bboss方法介绍 -
qianhao123:
[img][/img]
采用gradle构建和发布bboss方法介绍 -
yin_bp:
欢迎大家参与working
高性能elasticsearch ORM开发库使用介绍 -
qq641879434:
万分感谢
bboss 持久层sql xml配置文件编写和加载方法介绍 -
yin_bp:
qq641879434 写道怎么设置配置文件 可以查看执行的S ...
bboss 持久层sql xml配置文件编写和加载方法介绍
4.9.5 事务管理的相关接口
事务管理器:com.frameworkset.orm.transaction.TransactionManager ,每个
接口表:
名称 |
功能描述 |
说明 |
|
|
public void begin() throws TransactionException |
开启一个事务,如果当前上下文有事务则加入,如果没有则创建新的事务 |
Begin方法只能在TransactionManager的同一个对象实例上调用一次,超过一次将抛出事务异常 |
|
|
public void begin(int tx_type) throws TransactionException |
开启一个事务,参数tx_type值的取值范围为: NEW_TRANSACTION-开启新事务,隔离上下文事务 REQUIRED_TRANSACTION-有则加入事务,没有就开启新事物 MAYBE_TRANSACTION-有则加入事务,没有就不开启事务 NO_TRANSACTION-不开启事务也不加入上下文事务 |
|
|
|
public void commit() throws RollbackException |
提交事务,如果是嵌套子事务,则事务计数器递减直至为0时提交全部嵌套事务,只有所有子事务都提交成功后才算提交成功 |
|
|
|
public void rollback() throws RollbackException |
回滚事务,如果事务执行过程当中出现异常,则回滚事务 |
|
|
|
public JDBCTransaction suspend() throws SystemException |
挂起事务,挂起当前正在执行的事务是指暂停当前线程中运行的事务。如果在执行当前事务之前有事务挂起则恢复之前挂起的事务 |
|
|
|
public JDBCTransaction suspendAll() throws SystemException |
挂起所有的事务,挂起所有的事是指将当前事务挂起同时不恢复之前事务,即在执行恢复之前的当前环境没有事务关联。
|
|
|
|
public void resume(JDBCTransaction tx) throws InvalidTransactionException,
IllegalStateException, SystemException |
恢复之前挂起的事务 |
|
|
|
4.9.7应用程序使用事务框架进行编程的两种方式
应用程序使用事务框架进行编程的具有以下两种方式
l 可编程的事务管理模式
可编程的事务管理模式就是说可以直接在业务程序中直接调用事务管理的接口来进行事务处理,在这种模式下同样可以采用两种方式进行编程,一种是程序员直接在代码中创建事务对象,开启事务,提交或者回滚事务;一种是通过系统提供的事务管理模板接口来编写事务控制程序。前者容易造成事务泄漏(没有被正常的提交或者回滚),但是使用起来比较直观,后者将事务管理的功能全部封装在执行模板方法的功能类中,开发人员只需在模板方法中编写包含数据库操作的业务功能即可,不会出现事务泄漏的情况。
l 声明式的事务管理模式
声明式的事务管理模式就是指将业务组件的事务控制策略全部通过配置文件的来声明实现,业务组件本身无需对事物进行管理,具体进行配置的规则简单描述如下:
第一步 将业务组件配置到配置文件中
第二步 需要控制事务的方法名添加到配置文件中
第三步 定义事务控制策略,即在什么情况下事务执行成功,什么情况下事务执行失败,也就说需要定义失败的策略,失败策略一般通过定义一些特定的异常来声明,也可以不定义异常,默认所有的异常都会导致事务回滚。
声明性事务的实现是基于系统中提供的轻量级aop框架来实现的,通过该框架可以对业务组件中所有需要进行事务控制的方法进行实时动态拦截嵌入事务的控制功能,具体的细节请参照《aop框架的使用文档》。
4.9.8可编程事务使用实例
1.简单的事务处理-【开始】>【提交】>【回滚】
TransactionManager tm = new TransactionManager();
try {
tm.begin();
log("delete befer" ,tm.getStatus());
DBUtil dbUtil = new DBUtil();
dbUtil.executeDelete("delete from test");
dbUtil.executeDelete("delete from test1");
log("delete after" ,tm.getStatus());
tm.commit();
log("delete commit after" ,tm.getStatus());
} catch (TransactionException e) {
try {
tm.rollback();
} catch (RollbackException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
try {
tm.rollback();
} catch (RollbackException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
2.事务挂起处理-【开始】>【挂起】>【恢复】>【提交】>【回滚】
TransactionManager tm = new TransactionManager();
try {
//开始事务,在begin和commit之间的各种数据库操作都包含在事务中,除非中间有事务的挂起和中断,但是中断恢复后事务将继续,
//或者另外在事务执行过程如果开启了新的事务,则当前事务将被中断
tm.begin();
log("delete before",tm.getStatus());
DBUtil dbUtil = new DBUtil();
//执行两个删除操作,如果一个失败整个事务就回滚
dbUtil.executeDelete("delete from test");
dbUtil.executeDelete("delete from test1");
//挂起事务,挂起后的数据库操作将不受事务控制直到事务被恢复
JDBCTransaction tx = tm.suspend();
try
{
dbUtil.executeInsert("insert into test1(name) values('biaoping.yin')");
}
catch(Exception e)
{
}
//恢复事务,之后的事务将加入之前被中断的事务当中
tm.resume(tx);
log("delete after",tm.getStatus());
<span
发表评论
-
bboss 持久层数据源引用外部属性配置介绍
2018-12-29 21:47 980bboss 持久层数据源外部属性配置引用介绍 bboss持久 ... -
bboss持久层开启和关闭自带主键机制
2017-08-17 11:56 688bboss持久层开启和关闭自带主键机制 请访问文档: bbos ... -
bboss高性能db批处理功能使用方法介绍
2017-05-14 21:28 2054bboss持久层在v5.0.3.5中新增简单的高效的db批处理 ... -
bboss持久层公共sql片段定义和引用方法说明
2017-03-03 13:05 1057bboss持久层公共sql片段定义和引用方法说明 在配置sq ... -
最新版本mysql jdbc驱动包获取表定义信息空指针异常处理方法
2016-12-15 10:24 1268在使用最新的mysql-connector-java 6.0. ... -
持久层快速入门系列一
2016-08-19 13:00 1201持久层快速入门 先在应用中导入bboss 持久层(bboss ... -
bboss与spring中配置和引用bboss数据源和bboss dao组件方法说明
2016-08-10 16:04 861首先在项目中导入bboss 持久层包: maven坐标 & ... -
bboss 持久层sql xml配置文件编写和加载方法介绍
2016-04-05 13:14 1527bboss 持久层sql xml配置文件编写和加载方法介绍 通 ... -
bboss持久层设置数据库查询fetchsize参数方法
2015-11-06 11:54 955bboss持久层设置数据库查询fetchsize参数方法 j ... -
bboss持久层快速入门教程
2015-09-19 13:49 1519bboss持久层快速入门教程,快速搭建bboss持久层的开 ... -
bboss持久层数据库适配器编写和注册方法
2015-02-06 15:21 918bboss持久层数据库适配器编写和注册方法 bboss持久层默 ... -
bboss模糊查询、动态sql、批处理资料荟萃
2015-01-30 12:03 2262bboss模糊查询、动态sql、批处理资料荟萃 bboss持 ... -
bboss持久层查询元数据缓存机制开启方法
2014-11-18 12:03 964bboss持久层为了提升数据库查询操作性能,提供了对查 ... -
bboss内置数据源apache dbcp与druid数据源切换方法
2014-09-23 09:59 1318bboss内置数据源与druid数据源切换方法 bboss内置 ... -
bboss持久层多数据源配置及多数据库事务控制使用方法
2014-05-11 20:24 2844bboss持久层多数据源配置及使用方法,持久层框架及demo下 ... -
bboss持久层demo使用说明
2014-03-11 09:38 1118持久层案例可以用svn客户端下载eclipse工程,导入ecl ... -
bboss持久层More分页查询API使用介绍
2013-10-18 16:17 1314为了更好地提高数据库分页查询的效率,bboss持久层在Conf ... -
bboss持久层操作Clob和Blob字段示例
2013-09-09 13:29 1149bboss持久层操作Clob和Blob非常方便,基于bboss ... -
bboss持久层ormaping机制详解
2013-09-04 21:04 1084bboss持久层针对db操作即提供了原始sql语句的支持,又提 ... -
bboss持久层改进支持模块sql配置文件引用其它模块sql配置文件中sql语句
2013-09-01 22:23 882bboss持久层改进支持模块sql配置文件引用其它模块sql配 ...
相关推荐
NULL 博文链接:https://yin-bp.iteye.com/blog/301119
bboss es特点请访问: https://www.oschina.net/p/bboss-elastic
NULL 博文链接:https://yin-bp.iteye.com/blog/2174863
Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿
bboss会话共享培训文档,学习bboss不可多得的资料,值得拥有。
企业级 J2EE 开源框架:bboss
NULL 博文链接:https://yin-bp.iteye.com/blog/1449900
bboss+es基本操作示例,elasticsearch,bboss,java使用demo
NULL 博文链接:https://yin-bp.iteye.com/blog/926166
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
官方版本,亲测可用
资源目录: 项目源码(eshelloword.rar) bboss elasticsearch开发入门教程.wmv 搭建bboss elasticsearch开发环境.wmv 说明.txt
bboss功能涵盖ioc,mvc,jsp自定义标签库,持久层,全局事务托管,安全认证,SSO,web会话共享,cxfwebservice服务发布和管理,hessian服务发布和管理等功能。另外还提供了符合中国式自由流的bboss activiti工作流...
NULL 博文链接:https://yin-bp.iteye.com/blog/2325602
NULL 博文链接:https://yin-bp.iteye.com/blog/2177475
浙江移动BBOSS系统快速入门手册V0.1归类.pdf
展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:eshelloword-spring-boot-starter\src\test\java\org\bboss\elasticsearchtest\springboot\BBossESStarterTestCase.java 单集群演示功能...
NULL 博文链接:https://yin-bp.iteye.com/blog/1131637
bboss-datatran 由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能。
官方版本,亲测可用