You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2018/01/18 03:43:24 UTC

[incubator-servicecomb-java-chassis] 03/05: SCB-251 json disable FAIL_ON_EMPTY_BEANS and FAIL_ON_UNKNOWN_PROPERTIES, so that have better compatibility.

This is an automated email from the ASF dual-hosted git repository.

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-java-chassis.git

commit 5a2eae7d6200cab68ced97a1311b3e2330a9effc
Author: wujimin <wu...@huawei.com>
AuthorDate: Thu Jan 18 00:18:51 2018 +0800

    SCB-251 json disable FAIL_ON_EMPTY_BEANS and FAIL_ON_UNKNOWN_PROPERTIES, so that have better compatibility.
---
 .../servicecomb/common/rest/codec/RestObjectMapper.java  |  2 ++
 .../servicecomb/foundation/common/utils/JsonUtils.java   | 16 +++++-----------
 2 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/RestObjectMapper.java b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/RestObjectMapper.java
index b82e1a5..3e27916 100644
--- a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/RestObjectMapper.java
+++ b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/RestObjectMapper.java
@@ -21,6 +21,7 @@ import com.fasterxml.jackson.core.JsonParser.Feature;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.JavaType;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
 import com.fasterxml.jackson.databind.type.TypeFactory;
 import com.fasterxml.jackson.databind.util.ISO8601DateFormat;
 
@@ -36,6 +37,7 @@ public final class RestObjectMapper extends ObjectMapper {
     setDateFormat(new ISO8601DateFormat());
     getFactory().disable(Feature.AUTO_CLOSE_SOURCE);
     disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
+    disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
   }
 
   public String convertToString(Object value) throws Exception {
diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/JsonUtils.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/JsonUtils.java
index 087034c..75c7b36 100644
--- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/JsonUtils.java
+++ b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/utils/JsonUtils.java
@@ -21,30 +21,24 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 
-import com.fasterxml.jackson.core.JsonFactory;
 import com.fasterxml.jackson.core.JsonGenerationException;
 import com.fasterxml.jackson.core.JsonParseException;
 import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.JavaType;
 import com.fasterxml.jackson.databind.JsonMappingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
 
 public final class JsonUtils {
   public static final ObjectMapper OBJ_MAPPER;
 
   static {
-    //如果待转换的字符串比较随机,这个缓存很容易就填满,会导致同步清空缓存,对性能有影响
-    JsonFactory jsonFactory = new JsonFactory();
-    jsonFactory.configure(JsonFactory.Feature.INTERN_FIELD_NAMES, false);
-    OBJ_MAPPER = new ObjectMapper(jsonFactory);
+    OBJ_MAPPER = new ObjectMapper();
+    OBJ_MAPPER.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
+    OBJ_MAPPER.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
   }
 
-  //    static
-  //    {
-  //        //设置反序列化时忽略json字符串中存在而Java对象实际没有的属性
-  //        om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-  //    }
-
   private JsonUtils() {
   }
 

-- 
To stop receiving notification emails like this one, please contact
"commits@servicecomb.apache.org" <co...@servicecomb.apache.org>.