java中的序列化方式及dubbo使用kryo序列化

java中的序列化方式:

1. 自带序列化  ObjectInputSteam、 ObjectOutStream等

2. hession2

3. json ,xml等格式

4.kryo

5.FST

---

dubbo直接多种序列化方式,默认是hession2. 比较成熟,但是效率略低。

可以配置使用 kryo

    dubbo:protocol name="dubbo" serialization="kryo"/  

序列化集合类型的时候,在声明对象的时候,最好不要用接口来声明,要用具体类来声明,防止序列化后类型不匹配,或反序列化失败。

比如 HashSet set  =new HashSet()。如果你写成 Set set= new HashSet()就可能反序列化出错。

要让Kryo和FST完全发挥出高性能,最好将那些需要被序列化的类注册到dubbo系统中,例如,我们可以实现如下回调接口: 
public class SerializationOptimizerImpl implements SerializationOptimizer {    public Collection<Class> getSerializableClasses() {        List<Class> classes = new LinkedList<Class>();
        classes.add(BidRequest.class);
        classes.add(BidResponse.class);
        classes.add(Device.class);
        classes.add(Geo.class);
        classes.add(Impression.class);
        classes.add(SeatBid.class);        return classes;
    }
}

然后在XML配置中添加: 

dubbo:protocol name="dubbo" serialization="kryo" optimizer="com.alibaba.dubbo.demo.SerializationOptimizerImpl"/

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Dubbo协议及序列化

Dubbo是Alibaba开源的分布式服务框架远程调用框架,在网络间传输数据,就需要通信协议和序列化。一通信协议Dubbo支持dubbo、rmi、hessian、http、webservice、thrift、redis等多种协议,但是Dubbo官网是推荐我们使用Dubbo协议的,默认也是用的dubbo协议。先介绍几种常见的协议:1\.

DUBBO 源码解析(二) 服务的发布

1\.序列化出现UnsupportedOperationExceptionCausedby:com.alibaba.dubbo.remoting.RemotingException:java.lang.UnsupportedOperationException:com.alibaba.com.caucho.hessian.io