Dubbo Jackson序列化使用說明

Jackson序列化提供了對基本數據類型和簡單Bean的序列化的支持, 以及對類繼承的支持。java

已經通過測試的數據類型包括:json

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定義以下:app

  @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,內容示例以下:ide

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

已知問題

  1. 不支持泛型對象的序列化, 如 List,Map類型的序列化和反序列化
相關文章
相關標籤/搜索