shockweb-common来源openhandx- common工具包,只吸取了有关分布式开发必需使用到的工具类。其中包括:串行化类、自定义表达式运算、数据加密解密、基本数据转换等工具类。扩充了虚拟连接池、Spring上下文管理、日志输出、json和二进制高效串行化。common会随着shockweb后续项目的开发而不断补充。
1. 串行化类:shockweb串行化工具类吸取了openhandx common的xml串行化类做了一定的简化,并增加了json、二进制串行化类。Json目前被互联网分布式rest接口调用大量应用,与xml一样同样具有可读性好,并且比xml串行化快数据量小的效果。二进制串行化类在是shockweb自己定义的格式,比json具备更高的串行化效率和更小的数据量,这对于分布式应用具备很大的意义。
2. 自定义表达式运算:自定义表达式运算的类路径在com.shockweb.calculate下,来源openhandx common, 在此基础上shockweb扩展了对String的运算。按照用户自定义计算表达式进行计算,表达式的运算全部是以BigDecimal为基础保证了运算的精度无损失。同时支持加减乘除、括号、逻辑运算、条件判断、正玄函数、余玄函数、绝对值、平方、开方、幂运算、对数、最大值、最小值等函数。除此之外表达式中还支持变量,也允许开发人员为表达式计算开发新的函数。xml解析与生成
3. 虚拟连接池:虚拟连接池是一个分布式抽象分组的连接池组,每个分组可以保存不同类型的连接池组(比如:数据库、MQ、密码机等),每个连接池组可以有多个的连接池工厂,每个连接池工厂可以连接一台服务器。因此每一个连接池组支持对多台无状态服务器(比如:同密钥的密码机)连接管理,具备多台热备、负载均衡的能力。