- 浏览: 695574 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (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配置文件编写和加载方法介绍
bboss项目下载列表 在sourceforge访问地址为:
https://sourceforge.net/project/showfiles.php?group_id=238653
bboss persistent的事务管理框架实现数据库的增、删、改、查事务管理,整个事务管理框架在下面的各节中详细介绍。事务管理框架的实现原理模型见下图:
应用程序中的事务TX都会和本地线程关联,本地线程ThreadLocal是一个对上下文Thread关联的线程独占资源进行有效管理的容器。
4.9.1.多数据库事务的支持(分布式事务)
一个事务中如果存在不同数据库的操作,那么事务的处理比较复杂,只有所有的数据库的操作都成功以后事务提交,否则事务回滚。下面的代码演示了如果管理两个不同数据库(分布式)事务:
Poolman.xml中配置了两个数据源bspf和query:
<datasource>
...
<dbname>bspf</dbname>
...
</datasource>
<datasource>
...
<dbname>query</dbname>
...
</datasource>
代码段如下:
TransactionManager tm = new TransactionManager();
try
{
tm.begin();
DBUtil db = new DBUtil();
//在bspf库上执行删除操作
db.executeDelete("bspf","delete from table1 where id=1");
//在query库上执行更新操作
db.executeUpdate("query","update table1 set value='test'
where id=1");
tm.commit();
}
catch(Exception e)
{
try {
tm.rollback();
} catch (RollbackException e1) {
e1.printStackTrace();
}
}
上述代码中对bspf库上执行删除操作,在query库上执行更新操作,两个操作被包含在一个事务中,只有两个操作全部成功后事务才会成功,任何一个失败,都会导致事务被回滚。
4.9.2.四种类型的事务
a. 必须创建新的事务(NEW_TRANSACTION)
b. 有事务就加入当前事务,没有就不创建事务(MAYBE_TRANSACTION)
c. 有事务就加入当前事务,没有就创建事务(REQUIRED_TRANSACTION)(默认情况)
d. 没有事务(NO_TRANSACTION)
4.9.3.事务嵌套
对于同一个的事务中包含的事务定义为事务嵌套,事务所包含的子事务通过子事务计数器来管理,增加一个子事务时计数器加1,提交一个子事务时计数器减一,当计数器为零时提交所有事务,只要事务执行过程中有rollback的情况则回滚全部子事务。事务的嵌套具有一下16种组合,每种组合对全局事务的影响见表:
|
内部事务类型 |
|||
外部事 务类型 |
NEW_TRANSACTION |
REQUIRED_TRANSACTION |
MAYBE_TRANSACTION |
NO_TRANSACTION |
NEW_TRANSACTION |
屏蔽声明的事务,程序中开启一个新事务 |
使用声明的事务 |
使用声明的事务 |
屏蔽声明的事务,程序在没有事务的环境下运行 |
REQUIRED_TRANSACTION |
屏蔽声明的事务,程序中开启一个新事务 |
使用声明的事务 |
使用声明的事务 |
屏蔽声明的事务,程序在没有事务的环境下运行 |
MAYBE_TRANSACTION |
如果声明的事务存在,屏蔽声明的事务,程序中开启一个新事务 |
如果声明的事务存在,则使用声明的事务,否则开启一个新的事务 |
如果声明的事务存在,则使用声明的事务,否则不需声明事务 |
如果声明的事务存在,屏蔽声明的事务,程序在没有事务的环境下运行 |
NO_TRANSACTION |
程序中开启一个新事务 |
程序中开启一个新事务 |
程序在没有事务的环境下运行 |
程序在没有事务的环境下运行 |
4.9.4.支持事务的挂起和恢复
事务的挂起包括挂起当前正在执行的事务和挂起所有的事务.
挂起当前正在执行的事务是指暂停当前线程中运行的事务。如果在执行当前事务之前有事务挂起则恢复之前挂起的事务,
挂起所有的事务是指将当前事务挂起同时不恢复之前事务,即在执行恢复之前的当前环境没有事务关联。
事务恢复:将之前挂起的事务进行恢复,事务继续执行
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-<span style="color: navy; fo |
发表评论
-
bboss 持久层数据源引用外部属性配置介绍
2018-12-29 21:47 1084bboss 持久层数据源外部属性配置引用介绍 bboss持久 ... -
bboss持久层开启和关闭自带主键机制
2017-08-17 11:56 754bboss持久层开启和关闭自带主键机制 请访问文档: bbos ... -
bboss高性能db批处理功能使用方法介绍
2017-05-14 21:28 2139bboss持久层在v5.0.3.5中新增简单的高效的db批处理 ... -
bboss持久层公共sql片段定义和引用方法说明
2017-03-03 13:05 1124bboss持久层公共sql片段定义和引用方法说明 在配置sq ... -
最新版本mysql jdbc驱动包获取表定义信息空指针异常处理方法
2016-12-15 10:24 1357在使用最新的mysql-connector-java 6.0. ... -
持久层快速入门系列一
2016-08-19 13:00 1261持久层快速入门 先在应用中导入bboss 持久层(bboss ... -
bboss与spring中配置和引用bboss数据源和bboss dao组件方法说明
2016-08-10 16:04 918首先在项目中导入bboss 持久层包: maven坐标 & ... -
bboss 持久层sql xml配置文件编写和加载方法介绍
2016-04-05 13:14 1671bboss 持久层sql xml配置文件编写和加载方法介绍 通 ... -
bboss持久层设置数据库查询fetchsize参数方法
2015-11-06 11:54 1017bboss持久层设置数据库查询fetchsize参数方法 j ... -
bboss持久层快速入门教程
2015-09-19 13:49 1589bboss持久层快速入门教程,快速搭建bboss持久层的开 ... -
bboss持久层数据库适配器编写和注册方法
2015-02-06 15:21 977bboss持久层数据库适配器编写和注册方法 bboss持久层默 ... -
bboss模糊查询、动态sql、批处理资料荟萃
2015-01-30 12:03 2369bboss模糊查询、动态sql、批处理资料荟萃 bboss持 ... -
bboss持久层查询元数据缓存机制开启方法
2014-11-18 12:03 1022bboss持久层为了提升数据库查询操作性能,提供了对查 ... -
bboss内置数据源apache dbcp与druid数据源切换方法
2014-09-23 09:59 1388bboss内置数据源与druid数据源切换方法 bboss内置 ... -
bboss持久层多数据源配置及多数据库事务控制使用方法
2014-05-11 20:24 2974bboss持久层多数据源配置及使用方法,持久层框架及demo下 ... -
bboss持久层demo使用说明
2014-03-11 09:38 1209持久层案例可以用svn客户端下载eclipse工程,导入ecl ... -
bboss持久层More分页查询API使用介绍
2013-10-18 16:17 1475为了更好地提高数据库分页查询的效率,bboss持久层在Conf ... -
bboss持久层操作Clob和Blob字段示例
2013-09-09 13:29 1230bboss持久层操作Clob和Blob非常方便,基于bboss ... -
bboss持久层ormaping机制详解
2013-09-04 21:04 1157bboss持久层针对db操作即提供了原始sql语句的支持,又提 ... -
bboss持久层改进支持模块sql配置文件引用其它模块sql配置文件中sql语句
2013-09-01 22:23 932bboss持久层改进支持模块sql配置文件引用其它模块sql配 ...
相关推荐
3. **事务管理**:在TestTransaction.sql这个文件名中,我们可以推测BBoss Persistent也包含了事务管理功能。在处理CLOB和BLOB数据时,事务是至关重要的,因为它们确保了数据的一致性和完整性。如果在操作过程中发生...
4. **AOP(面向切面编程)**:BBoss MVCDemo支持AOP,可以实现如事务管理、日志记录、权限控制等功能,提高代码的复用性和可维护性。 5. **国际化与本地化**:框架内置了国际化和本地化支持,使得应用可以根据用户...
bboss会话共享是一种分布式会话管理技术,它针对在集群环境下应用部署时如何解决会话数据丢失和单点登录问题提供了专门的解决方案。根据提供的文档内容,我们可以详细探讨bboss会话共享涉及的关键知识点。 首先,...
3. `bboss-util-5.5.0.jar`和`bboss-persistent-5.5.0.jar`:这是BBoss框架的核心组件,提供了许多实用工具类和持久化操作支持,如数据库连接、事务管理等,为Elasticsearch的数据导入提供底层支持。 4. `...
本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...
2. **数据库操作**:BBoss提供了便捷的数据访问层(DAO),支持SQL动态生成、事务管理以及多种数据库的兼容性,使得数据库操作变得简单且高效。 3. **服务治理**:框架内置了服务注册与发现机制,可以实现微服务...
BBoss安全认证过滤器是Java Web开发中一种用于实现用户身份验证和权限控制的重要组件。在Web应用程序中,过滤器(Filter)是Servlet规范的一部分,它允许开发者在请求到达目标Servlet或JSP之前进行预处理,以及在...
本文将详细介绍如何在BBoss的IOC配置文件中引用外部属性文件,以便更好地管理和动态配置应用。 首先,BBoss的IOC配置文件通常是一个XML文件,比如`bboss-ioc.xml`,在这个文件中我们可以声明并配置各种bean。当需要...
Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿
BBoss 是一个针对 Elasticsearch 的企业级开发框架,它提供了丰富的 Java API,使得开发者可以更简单地进行索引管理、查询构建、结果分析等操作。BBoss 还支持多版本兼容,方便应对 Elasticsearch 的升级问题。 **...
1. **事务管理**:支持数据库的ACID(原子性、一致性、隔离性、持久性)特性,确保数据的一致性和完整性。 2. **缓存机制**:提供缓存策略,减少对数据库的直接访问,提高性能。 3. **批量操作**:支持数据的批量...
除了基础操作外,bboss还提供了批量操作、事务控制、性能优化、异常处理等高级特性。例如,可以使用bboss的批处理API一次性处理大量数据,提高数据导入效率。 7. **应用场景** 结合bboss和Elasticsearch,开发者...
**bboss-datatran** 是一个由 **bboss** 社区开源的高效数据处理工具,专注于数据采集、数据清洗转换以及数据入库等任务。它实现了流批一体化的数据处理能力,使得用户能够灵活地应对实时和批量的数据处理场景。在...
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
本培训文档将介绍集群session管理的发展历史、bbosssession的架构及特点、性能指标、与应用的集成方式、部署模式以及场景演示等,旨在帮助技术人员理解并掌握bbosssession的使用方法和优势。 一、集群session管理...
bboss功能涵盖ioc,mvc,jsp自定义标签库,持久层,全局事务托管,安全认证,SSO,web会话共享,cxfwebservice服务发布和管理,hessian服务发布和管理等功能。另外还提供了符合中国式自由流的bboss activiti工作流...
1. **BBoss框架入门**:介绍如何安装配置BBoss,以及创建第一个项目的基本步骤。 2. **BBoss核心组件讲解**:详细解析BBoss的各个模块,如DAO、Service、权限控制等的使用方法。 3. **EasyUI组件使用**:讲解如何在...
官方版本,亲测可用