zoukankan      html  css  js  c++  java
  • Dubbo Jackson序列化使用说明

    Jackson序列化提供了对基本数据类型和简单Bean的序列化的支持, 以及对类继承的支持。

    已经经过测试的数据类型包括:

    Boolean/boolean
    Long/long
    Integer/int
    Double/double
    Short/short
    Float/float
    Byte/byte
    java.util.Date
    org.joda.time.DateTime
    

    以及由这些基本数据类型组成的数组和Bean, 如 int[], String[]等.

    jackson序列化使用

    <dubbo:protocol name="dubbo" port="20880" serialization="jackson" />

    自定义ObjectMapper

    默认情况下,Jackson序列化和反序列化时所使用的ObjectMapper定义如下:

      @Override
        public ObjectMapper getObjectMapper() {
            ObjectMapper objectMapper = new ObjectMapper();
            objectMapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
    //            objectMapper.disable(SerializationFeature.FLUSH_AFTER_WRITE_VALUE);
            objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
            objectMapper.setTimeZone(TimeZone.getDefault());
            return objectMapper;
    }

    如果需要自定义JacksonObjectMapperProvider, 开发者可以通过实现com.alibaba.dubbo.common.json.JacksonObjectMapperProvider接口进行自定义,并在/META-INF/dubbo/中添加文件 com.alibaba.dubbo.common.json.JacksonObjectMapperProvider,内容示例如下:

    jackson=com.alibaba.dubbo.examples.jackson.jacksonprovider.CustomJacksonObjectMapperProvider
    

    已知问题

    1. 不支持泛型对象的序列化, 如 List,Map类型的序列化和反序列化
  • 相关阅读:
    数据库
    java语法
    《Lucene实战(第2版)》 配书代码在IDEA下的编译方法
    lucene学习
    社交关系调研(费)
    微博开发平台java SDK demo学习之examples(demo)
    微博开发平台java SDK demo学习之friendships
    F. Classical? (数论 + 思维 + 推理 + 容斥)
    石子合并问题,经典区间DP
    luoguP2048 [NOI2010]超级钢琴
  • 原文地址:https://www.cnblogs.com/devotion/p/5199401.html
Copyright © 2011-2022 走看看