2 Star 3 Fork 2

彭明华 / openhandx common

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

openhandx common

  1. 前言
  • OpenHandx-common整理了日常开发中可能经常用到的方法、工具类,也是openhandx系列的基础公共类。其中包括:反多线程、JMS连接池、多数据源的数据库连接池、自定义表达式运算、数据模型、树结构算法、上下文管理、数据压缩接压、数据加密解密、xml解析与生成、udp传输、数据转换等工具类。Common会随着后续项目的开发而不断补充。
  • 由于common是最基础的工具包使用简单,大家看javadoc就可以了。本文就几个主要工具类的使用进行介绍。
  • 1.04以后版本的对Model查询功能兼容性大大增强,支持sqlserver、oracle、sybase、mySql几个主流数据库。并增加了对WebService连接池的支持。- 1.05以后表达式增加支持字符串运算。
  1. 反多线程
  • 反多线程又叫逆转多线程,是指多线程逆向操作。将一个多核或超线程的CPU模拟成一个单线程的强大CPU。多线程开发是指将一个单线程程序改成可并发执行的子程序(多线程执行)以提高整个代码效率,但是有多个多线程程序同时执行会是CPU或服务器资源不堪重负,反而降低整个程序的效率甚至系统崩溃。反多线程核心技术也是使用多线程,只是将多线程的资源管理起来合理地并发执行,先发起的程序必定先执行(多线程执行),如果资源允许的情况下其他程序也将并行执行,整个过程开发者不用自己创建线程,就象单线程的程序一样,但是比多单线程快。
  1. JMS连接池
  • JMS连接池的类路径在open.jms下,可以管理多个服务器的JMS连接,同时也支持多种不同厂商的JMS驱动(jms1.1的规范),开发人员不必了解过多的原来JMS细节就对JMS服务器可以发送和接收消息。
  1. 多数据源的数据库连接池
  • 数据库连接池的类路径在open.database下,可以管理多数据源的数据库连接池。每个连接池负责分配、管理和释放数据库连接。并且支持空闲超时、连接中断自动重连。
  1. openHandx-unreal的WebService连接池
  • 由于每个服务器对外提供的连接数存在上限,即使客户端连接关闭,服务器端也不会立刻释放,这就造成频繁向服务器发送WebService请求会造成拒绝连接的情况,使用WebService连接池很好地解决这类情况。
  1. 自定义表达式运算
  • 自定义表达式运算的类路径在open.calculate下,按照用户自定义计算表达式进行计算,表达式的运算全部是以BigDecimal为基础保证了运算的精度无损失。同时支持加减乘除、括号、逻辑运算、条件判断、正玄函数、余玄函数、绝对值、平方、开方、幂运算、对数、最大值、最小值等函数。除此之外表达式中还支持变量,也允许开发人员为表达式计算开发新的函数。
  1. 数据模型
  • 数据模型的类路径在open.model下,数据模型的主要功能是保存数据库记录的。虽然现在很多开发使用Pojo对象,面向对象的领域模型出发点是好的,但实际上应用的并不是那么好。贫血模型的只是简单的值对象意义不是很大,充血模型又需要开发者有足够的抽象和设计能力,另外国内项目需求变化太大,不好的领域模型很难适应变化。OpenHandx的数据模型是面向数据的,容易理解,并支持数据的查询、分组、排序等功能。 数据模型分为三种:单条数据存储对象、多条数据存储对象(非持久的、持久的)、复合的数据存储对象
  • 7.1 单条数据存储对象
  • 单条数据存储对象open.model.RecordVO能动态保存多字段,并且每个字段值能使用不同的方法转化成需要数据类型
  • 7.2 多条数据存储对象(非持久的)
  • 多条数据存储对象open.model.RecordSetVO,实现了IRecordSetVO接口,能动态保存多字段和多条数据,并且还有对RecordSetVO内的数据进行按任意字段排序、分组、统计、分组求和统计、求唯一、查询、索引查询、从数据库加载的功能。这些功能对开发人员来说都是很常用的。她与PersistenceRecordSetVO相比优势在于性能。
  • 7.3 多条数据存储对象(持久的)
  • 多条数据存储对象open.model.PersistenceRecordSetVO,也实现了IRecordSetVO接口除了具有RecordSetVO的绝大部分功能,还能将数据持久到本地服务器硬盘中,这就让PersistenceRecordSetVO能保存海量的数据,数据计算都可以在本地服务器中进行,减少数据库服务器的压力。
  • 7.4 复合的数据存储对象
  • 复合的数据存储对象open.model.MulripleVO,能保存一个单条数据存储对象和多个多条数据存储对象,目的是为了保存复杂关系的数据。
  1. xml解析与生成
  • 8.1 xml解析
  • xml解析类open.xml.XmlReader能将xml字符或文件读取到Pojo值对象中,开发人员只需要几行代码就能完成工作,而不必了解dom等复杂的xml解析工具类。目前XmlReader能支持java的基本数据类型、List接口、自定义的Pojo及嵌套。XmlReader支持属性方式、描述方式。
  • 8.2 xml生成
  • xml生成open.xml.XmlWriter是XmlReader逆过程,能将pojo生成xml字符或文件。目前XmlWriter能支持java的基本数据类型、List接口、自定义的Pojo及嵌套。XmlWriter也支持属性方式、描述方式。她的好处是可以是程序在运行时修改xml,从而达到修改配置的目的。
  1. Class方法工具类
  • Class方法工具类open.tools.classmethod.ClassMethod能获取某个Class的get、set方法,并对这些方法取值和赋值,根据方法名称、参数类型、参数名字获取的方法定义。

空文件

简介

OpenHandx-common整理了日常开发中可能经常用到的方法、工具类。 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/pengminghua/openhandx-common.git
git@gitee.com:pengminghua/openhandx-common.git
pengminghua
openhandx-common
openhandx common
master

搜索帮助