Voovan是一个高性能异步框架和工具集,提供基于 AIO/NIO 的高性能异步通信的支持,为您开发高并发的应用提供基石. Voovan
也附带一个精心设计和调优的 Web 服务器,最后 Voovan也包含众多的工具类(反射,日志,ORM,JSON,日期,文件,字符串等等工具). 应用场景: 物联网服务端开发, Http 服务端(以及嵌入式)开发, 即时通信 等等众多需要网络通信的应用场景. 目前 Voovan 被使用于: JDocker 一款 java 开发 Docker API 封装的框架。 Dockerfly 一款 Docker web 管理工具。 深圳某公司基于 Voovan 开发物联网管理服务。 某通信企业基于 Voovan开发日通信10w+ 次的关口机。
还有更多不为人知的 voovan 使用者默默的支持这 Voovan 的发展. 主要功能列表 主页:http://www.voovan.org/ GIT:https://git.oschina.net/helyho/Voovan 开发入门及指引 Voovan托管于码云,感谢码云提供的无偿支持.同事感谢开源中国提供非常好用的Team文档平台。
更新内容 新增:add: 为SessionManager增加定时清理 session 的功能 add: 增加HttpSession.containAttribute方法用于判断属性是否存在 add: TReflect.allocateInstance 构造一个对象,无须任何参数 add: 增加Formater.getLogLevel,返回可用的日志等级 add: 增加Logger.isLogLevel来判断是否包含指定的日志等级 add: TSQL对于参数是用户自定义的类型或者是无法直接保存进数据库的类型,转换成 JSON 进行保存 add: TReflect.isBasicType方法用来判断是否是可自动装箱的基本类型 add: TReflect.isSystemType方法用来判断是否是jdk 中定义的类 add: TReflect.getObjectFromMap支持属性内容为JSON字符串的自动转换成字符串类型,如:属性为 Map 类型,而mapArg参数对应的为 String类型的数据 则自动通过 JSON转换成Map对象 add: 增加TString.generateShortUUID获取短 uuid add: 增加TFile.getFileName获取文件名
优化imp: 默认 access.log 为 false imp: 优化导入 imp: TFile.getFileFolderPath 重命名 TFile.getFileDirectory imp: 增加 TFile.mkdir 方法 imp: 对 TObject.arrayToMap 采用范型 imp: 增加 TString.tokenReplace 不定个数参数的方法 imp: 对 TString.toObject 采用范型 imp: 优化ByteBufferChannel的锁机制 imp: 优化WebServerHandler中连接保持功能的内存消耗 imp: 为 TReflect.newInstance方法支持增加类不包含无参数构造函数的实例化 imp: TReflect.getMapfromObject 转换复杂类型的 bug imp: getAttributes 重命名为 getAttribute,更符合字面义 imp: 修复TReflect.getObjectFromMap日期类型转换问题 imp: 修复TReflect.isExtendsByClass判断异常的问题 imp: 优化 JdbcOperate 的日志输出 imp: 优化了 JdbcOperator 的正则判断
修复fix: 修复嵌入模式 Access.log 设置为 false 不生效的问题 fix: 修复WebServer 的 Session 清理 bug fix: 修复因高并发情景下零时文件重名带来的问题 fix: 优化 Http 服务缓存, 请求响应结束后自动清理当前请求的缓存 fix: 修复 JSON.parse对注释中的字符串处理的 bug fix: 修复 TReflect.isBasicType 的 bug fix: 修复 HttpResponse.redirct方法的 bug fix: 处理Request发送请求时的bug fix: 修复WEB 访问静态文件偶尔会多发送内容的 bug fix: 修复 TFile.loadFile 没有检查文件大小的 bug fix: 修复查找属性和方法在没有找到时没有按照约定返回Null,而且还抛出了异常的bug fix: 修复TReflect.invokMethod自动选择方法时由于参数转换异常导致在参数不准确的时候就退出方法寻找的的 bug fix: 修复TReflect.findMethod/findField 无法找到父类的方法的 bug
|