`

bboss 持久层重大改进

阅读更多
bboss 持久层重大改进。
bboss持久层最大特色就是其对动态sql语句的良好支持,这个机制是基于velocity模板引擎的来实现的:
Velocity.evaluate(context, out, sqlName, sql);


Velocity.evaluate这个方法存在一个非常严重的性能隐患,那就是这个方法没有对解析出来的sql模板语法结构树做任何的缓存机制,每次都会硬解析sql语句,并且在解析sql语句时会向velocity的模板解析器池中获取一个池化的解析器,这样在高并发情况下会频繁地获取解析其池的共享锁,导致系统性能下降。为了避免出现该问题,最近对bboss持久层和velocity模板引擎都做了功能扩展,彻底解决了这个问题,非常完美第实现了对模板sql语法结构树的缓存功能,每条sql语句只硬解析一次,如果sql语句是通过xml配置文件来管理则按照每个文件对应一个缓存器,提高缓存的检索速度和命中率,其他非配置文件的sql语句也通过系统全局默认的缓存容器进行管理。

同时对生成sql算法进行优化,对velocity分析出的词法进行变量和句法识别,如果sql语句不包含任何velocity变量和句法,则将sql语句当作普通字符串处理,持久层后续不再针对该sql语句做任何和velocity的相关的操作(也就是说将sql语句当成普通的sql语句处理),这样也可以大幅提升系统性能。

在bboss中新增了bboss-velocity工程,这个工程就是bboss对velocity模板引擎的改造版本(基于velocity 1.7改造),改造后的velocity在包路径前面统一添加了“bboss.”前缀,避免与原始的velocity包的冲突。

上述改造是针对最新的bboss3.6.2分支版本实施,已经经过初步回归测试并升级到相关的实际项目中,目前未出现任何升级版本导致的问题,完全兼容先前的应用程序。而且经实践验证bboss持久层的性能同时得到大幅提升,达到了改造的最终目标。

升级bboss3.6.2需要更新以下jar文件:
bboss-aop.jar
bboss-velocity.jar(新增)
bboss-mvc.jar
frameworkset-pool.jar
frameworkset-util.jar

bboss构建方法:
http://yin-bp.iteye.com/blog/1462842
bboss3.6.2源码下载地址:
bboss3.6.2
分享到:
评论

相关推荐

    bboss 插件工程,持久层hibernate/hibernate4插件

    bboss-plugins project.包含kafka、log4j、spring、dubbo、activemq、word转pdf、pdf转swf项目,持久层hibernate/hibernate4插件

    基于Java的bboss插件集设计源码,涵盖文档转换及持久层技术

    该项目为bboss插件集的Java设计源码,总计277个文件,涵盖163个Java源文件、22个XML配置文件、14个Gradle构建脚本、13个Git忽略规则、13个属性文件以及少量的JavaScript、HTML、CSS和Shell脚本,主要用于文档转换和...

    bboss mvcdemo 下载地址

    BBoss MVCDemo 是一个基于Java的企业级应用框架,它主要为开发者提供了一种高效、灵活的MVC(Model-View-Controller)开发模式。这个框架的目的是简化企业级Web应用的开发流程,提高开发效率,并且具备良好的可扩展...

    bboss会话共享培训文档

    bboss会话共享是一种分布式会话管理技术,它针对在集群环境下应用部署时如何解决会话数据丢失和单点登录问题提供了专门的解决方案。根据提供的文档内容,我们可以详细探讨bboss会话共享涉及的关键知识点。 首先,...

    springboot整合bboss es增删改查测试demo代码

    本实例是一个基于bboss es spring boot starter的demo maven工程,可供spring boot项目集成bboss elasticsearch rest client参考 展示了通过spring boot管理单集群功能和管理多集群功能 单集群测试用例:...

    企业级J2EE开源框架bboss

    2. **数据库操作**:BBoss提供了便捷的数据访问层(DAO),支持SQL动态生成、事务管理以及多种数据库的兼容性,使得数据库操作变得简单且高效。 3. **服务治理**:框架内置了服务注册与发现机制,可以实现微服务...

    springboot集成ElasticsearchBboss调用Elasticsearch.md

    springboot集成ElasticsearchBboss调用Elasticsearch的案例分享

    由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能

    **bboss-datatran** 是一个由 **bboss** 社区开源的高效数据处理工具,专注于数据采集、数据清洗转换以及数据入库等任务。它实现了流批一体化的数据处理能力,使得用户能够灵活地应对实时和批量的数据处理场景。在...

    bboss-elasticsearch开发环境搭建和开发入门视频教程.

    **Elasticsearch 开发环境搭建与 BBoss 入门教程** Elasticsearch 是一个高度可扩展的开源全文搜索引擎,设计用于快速提供近实时的搜索和分析能力。BBoss(Business Boss)是基于Elasticsearch的一个强大且灵活的...

    bboss+es基本操作示例.zip

    **bboss+es基本操作示例** 在Java开发中,Elasticsearch(ES)作为一种流行的分布式搜索引擎和数据分析工具,常用于大数据处理和实时分析。bboss(Business Basic Operation Support)框架则是针对Elasticsearch...

    bboss elasticsearch-5.7.8.rar

    3. `bboss-util-5.5.0.jar`和`bboss-persistent-5.5.0.jar`:这是BBoss框架的核心组件,提供了许多实用工具类和持久化操作支持,如数据库连接、事务管理等,为Elasticsearch的数据导入提供底层支持。 4. `...

    bboss-db-elasticsearch-tool-master_java_

    1. **事务管理**:支持数据库的ACID(原子性、一致性、隔离性、持久性)特性,确保数据的一致性和完整性。 2. **缓存机制**:提供缓存策略,减少对数据库的直接访问,提高性能。 3. **批量操作**:支持数据的批量...

    bboss persistent 1.0.2中方便地实现大字段(clob,blob)的处理

    BBoss Persistent是一个轻量级的持久层框架,它提供了方便的方式来处理这些大字段。本文将深入探讨在BBoss Persistent 1.0.2中如何高效地管理CLOB和BLOB数据。 首先,CLOB用于存储大量的文本数据,如长篇文章或XML...

    bboss 安全认证过滤器功能介绍

    BBoss安全认证过滤器是Java Web开发中一种用于实现用户身份验证和权限控制的重要组件。在Web应用程序中,过滤器(Filter)是Servlet规范的一部分,它允许开发者在请求到达目标Servlet或JSP之前进行预处理,以及在...

    J2EE企业级开源框架bboss v5.0.6.8

    bboss功能涵盖ioc,mvc,jsp自定义标签库,持久层,全局事务托管,安全认证,SSO,web会话共享,cxfwebservice服务发布和管理,hessian服务发布和管理等功能。另外还提供了符合中国式自由流的bboss activiti工作流...

    bboss-soa.jar

    官方版本,亲测可用

    Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿.pptx

    Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿

    bboss ioc配置文件中使用外部属性文件介绍

    BBoss是一个轻量级的企业级应用开发框架,提供了IOC(Inversion of Control)功能,使得对象之间的依赖关系可以通过配置文件进行管理。本文将详细介绍如何在BBoss的IOC配置文件中引用外部属性文件,以便更好地管理和...

Global site tag (gtag.js) - Google Analytics