bboss 序列化机制重大改进-支持复杂对象及对象之间关系序列化和恢复功能,支持对象循环引用/自引用关系的序列化和反序列化,在此发文介绍一下这个功能。
首先构造一组复杂对象:
Test1 test1 = new Test1();
Test2 test2 = new Test2();
Test3 test3 = new Test3();
test2.setTest1(test1);
test1.setTest2(test2);
test1.setTest3(test3);
test3.setTest2(test2);
test1 对象的序列化和反序列化操作:
String ss = ObjectSerializable.toXML(test1);
Test1 test1_ = (Test1)ObjectSerializable.toBean(ss,Test1.class);
我们看一张图解说明:
再看序列化所产生的报文格式(实际上对应的报文全部采用压缩格式,xml元素名称和属性全部采用缩写格式,以减少数据报文大小),这里采用明文是为了便于阅读,而且给出的是一个更加复杂的对象结构:
现在bboss 的序列化机制已经能够像java的serializable和xtream一样支持各种复杂数据对象了,反序列化时,除了能够恢复数据,还能够恢复对象之间的引用关系。
序列化之所以能够支持这个功能,完全依赖于bboss aop框架对对象循环引用依赖注入功能的支持,并且支持配置文件中各种内部对象之间的相互引用,就像c中的指针一样,这个功能也是bbossgroups 3.5中的新特性。
最新代码已经提交到
github,哈哈。
也可到以下下载地址:
bboss
序列化测试用例:
TestSerializable
- 大小: 104 KB
- 大小: 219.8 KB
分享到:
相关推荐
Bboss和xstream序列化反序列化性能对比1
基于java语言比mybatis更实用的orm框架,支持mysql、oracle、postgresql、sqlserver、db2、dm、mongodb
elasticsearch的一个开源的辅助工具,可以批量,定时将数据库数据导入elasticsearch。
bboss-datatran 由 bboss 开源的数据采集&流批一体化工具,提供数据采集、数据清洗转换处理和数据入库以及数据指标统计计算流批一体化处理功能。
bboss es特点请访问: https://www.oschina.net/p/bboss-elastic
环境要求JDK要求:JDK 1.7+ Elasticsearch版本要求:1.X,2.X,5.X,6.X,7.x,+ Spring Booter 1.x,2.x,+从源代码构建首先从获取源代码然后转到目录bboss-elastic-tran下的cmd窗口并运行gradle build命令: ...
官方版本,亲测可用
Bboss国际化实践.ppt
官方版本,亲测可用
官方版本,亲测可用
Elasticsearch rest client bboss介绍-Elastic2018中国开发者大会演讲稿
资源目录: 项目源码(eshelloword.rar) bboss elasticsearch开发入门教程.wmv 搭建bboss elasticsearch开发环境.wmv 说明.txt
bboss会话共享培训文档,学习bboss不可多得的资料,值得拥有。
springboot集成ElasticsearchBboss调用Elasticsearch的案例分享
企业级 J2EE 开源框架:bboss
NULL 博文链接:https://yin-bp.iteye.com/blog/1449900
通用高性能Elasticsearch highlevel java rest client 客户端,兼容elasticsearch 1.x,2.x,5.x,6.x,7.x,8.x,兼容spring boot 1.x,2.x,开箱即用
官方版本,亲测可用
bboss+es基本操作示例,elasticsearch,bboss,java使用demo
bboss httpproxy bboss http project. 包含的功能有: ...负载均衡器主备功能开发,如果主节点全部挂掉,请求转发到可用的备用节点,如果备用节点也挂了,就抛出异常,如果主节点恢复正常,那么请求重