From fd103b72412d548587367cbdc73fcec811152e97 Mon Sep 17 00:00:00 2001 From: Albumen Kevin Date: Tue, 8 Nov 2022 19:22:33 +0800 Subject: [PATCH] Remove fastjson and gson transitive dependency (#10792) --- dubbo-common/pom.xml | 3 ++- .../metadata/definition/model/TypeDefinition.java | 4 ---- dubbo-dependencies-bom/pom.xml | 2 +- dubbo-distribution/dubbo-all/pom.xml | 14 +------------- .../kubernetes/KubernetesServiceDiscovery.java | 6 +++--- dubbo-monitor/dubbo-monitor-default/pom.xml | 5 +++++ .../client/ReflectionBasedServiceDiscovery.java | 11 +++++------ 7 files changed, 17 insertions(+), 28 deletions(-) diff --git a/dubbo-common/pom.xml b/dubbo-common/pom.xml index b7d7724ab1..e02cae095c 100644 --- a/dubbo-common/pom.xml +++ b/dubbo-common/pom.xml @@ -62,15 +62,16 @@ com.alibaba fastjson + provided com.google.code.gson gson + provided com.alibaba.fastjson2 fastjson2 - provided commons-io diff --git a/dubbo-common/src/main/java/org/apache/dubbo/metadata/definition/model/TypeDefinition.java b/dubbo-common/src/main/java/org/apache/dubbo/metadata/definition/model/TypeDefinition.java index 6dd0f0625d..4962316daa 100755 --- a/dubbo-common/src/main/java/org/apache/dubbo/metadata/definition/model/TypeDefinition.java +++ b/dubbo-common/src/main/java/org/apache/dubbo/metadata/definition/model/TypeDefinition.java @@ -16,8 +16,6 @@ */ package org.apache.dubbo.metadata.definition.model; -import com.google.gson.annotations.SerializedName; - import java.io.Serializable; import java.lang.reflect.ParameterizedType; import java.util.ArrayList; @@ -46,7 +44,6 @@ public class TypeDefinition implements Serializable { *

* if this type is not ParameterizedType, the items is null or empty */ - @SerializedName("items") private List items; /** @@ -54,7 +51,6 @@ public class TypeDefinition implements Serializable { *

* If this type is not enum, enums is null or empty */ - @SerializedName("enum") private List enums; /** diff --git a/dubbo-dependencies-bom/pom.xml b/dubbo-dependencies-bom/pom.xml index a103d74cc2..0768756968 100644 --- a/dubbo-dependencies-bom/pom.xml +++ b/dubbo-dependencies-bom/pom.xml @@ -100,7 +100,7 @@ 4.5.13 4.4.6 1.2.83 - 2.0.16 + 2.0.17 3.4.14 4.2.0 2.12.0 diff --git a/dubbo-distribution/dubbo-all/pom.xml b/dubbo-distribution/dubbo-all/pom.xml index 41f195631e..66d5f5158c 100644 --- a/dubbo-distribution/dubbo-all/pom.xml +++ b/dubbo-distribution/dubbo-all/pom.xml @@ -255,12 +255,6 @@ compile true - - com.alibaba - hessian-lite - compile - true - org.apache.dubbo @@ -351,17 +345,13 @@ io.netty netty-all - - com.google.code.gson - gson - org.yaml snakeyaml com.alibaba - fastjson + hessian-lite com.alibaba.fastjson2 @@ -405,7 +395,6 @@ false - com.alibaba:hessian-lite org.apache.dubbo:dubbo-auth org.apache.dubbo:dubbo-cluster org.apache.dubbo:dubbo-common @@ -1168,7 +1157,6 @@ true org.apache.dubbo:dubbo-* - com.alibaba:hessian-* public UTF-8 diff --git a/dubbo-kubernetes/src/main/java/org/apache/dubbo/registry/kubernetes/KubernetesServiceDiscovery.java b/dubbo-kubernetes/src/main/java/org/apache/dubbo/registry/kubernetes/KubernetesServiceDiscovery.java index 9c6a49e5a4..4283c7f99b 100644 --- a/dubbo-kubernetes/src/main/java/org/apache/dubbo/registry/kubernetes/KubernetesServiceDiscovery.java +++ b/dubbo-kubernetes/src/main/java/org/apache/dubbo/registry/kubernetes/KubernetesServiceDiscovery.java @@ -19,6 +19,7 @@ package org.apache.dubbo.registry.kubernetes; import org.apache.dubbo.common.URL; import org.apache.dubbo.common.logger.ErrorTypeAwareLogger; import org.apache.dubbo.common.logger.LoggerFactory; +import org.apache.dubbo.common.utils.JsonUtils; import org.apache.dubbo.common.utils.StringUtils; import org.apache.dubbo.registry.client.AbstractServiceDiscovery; import org.apache.dubbo.registry.client.DefaultServiceInstance; @@ -30,7 +31,6 @@ import org.apache.dubbo.registry.kubernetes.util.KubernetesConfigUtils; import org.apache.dubbo.rpc.model.ApplicationModel; import org.apache.dubbo.rpc.model.ScopeModelUtil; -import com.alibaba.fastjson.JSONObject; import io.fabric8.kubernetes.api.model.EndpointAddress; import io.fabric8.kubernetes.api.model.EndpointPort; import io.fabric8.kubernetes.api.model.EndpointSubset; @@ -130,7 +130,7 @@ public class KubernetesServiceDiscovery extends AbstractServiceDiscovery { .edit(pod -> new PodBuilder(pod) .editOrNewMetadata() - .addToAnnotations(KUBERNETES_PROPERTIES_KEY, JSONObject.toJSONString(serviceInstance.getMetadata())) + .addToAnnotations(KUBERNETES_PROPERTIES_KEY, JsonUtils.getJson().toJson(serviceInstance.getMetadata())) .endMetadata() .build()); if (logger.isInfoEnabled()) { @@ -416,7 +416,7 @@ public class KubernetesServiceDiscovery extends AbstractServiceDiscovery { String properties = pod.getMetadata().getAnnotations().get(KUBERNETES_PROPERTIES_KEY); if (StringUtils.isNotEmpty(properties)) { - serviceInstance.getMetadata().putAll(JSONObject.parseObject(properties, Map.class)); + serviceInstance.getMetadata().putAll(JsonUtils.getJson().toJavaObject(properties, Map.class)); instances.add(serviceInstance); } else { logger.warn(REGISTRY_UNABLE_FIND_SERVICE_KUBERNETES, "", "", "Unable to find Service Instance metadata in Pod Annotations. " + diff --git a/dubbo-monitor/dubbo-monitor-default/pom.xml b/dubbo-monitor/dubbo-monitor-default/pom.xml index a230f3652c..43d4f0044e 100644 --- a/dubbo-monitor/dubbo-monitor-default/pom.xml +++ b/dubbo-monitor/dubbo-monitor-default/pom.xml @@ -72,5 +72,10 @@ ${project.parent.version} test + + com.google.code.gson + gson + test + diff --git a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ReflectionBasedServiceDiscovery.java b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ReflectionBasedServiceDiscovery.java index 02c8c15d8a..f19e1acd98 100644 --- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ReflectionBasedServiceDiscovery.java +++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/client/ReflectionBasedServiceDiscovery.java @@ -20,6 +20,7 @@ import org.apache.dubbo.common.URL; import org.apache.dubbo.common.constants.CommonConstants; import org.apache.dubbo.common.logger.ErrorTypeAwareLogger; import org.apache.dubbo.common.logger.LoggerFactory; +import org.apache.dubbo.common.utils.JsonUtils; import org.apache.dubbo.common.utils.NamedThreadFactory; import org.apache.dubbo.common.utils.NetUtils; import org.apache.dubbo.common.utils.StringUtils; @@ -37,8 +38,6 @@ import org.apache.dubbo.rpc.model.ApplicationModel; import org.apache.dubbo.rpc.model.ScopeModelUtil; import org.apache.dubbo.rpc.service.Destroyable; -import com.alibaba.fastjson.JSONObject; - import java.util.Collections; import java.util.HashSet; import java.util.Iterator; @@ -139,7 +138,7 @@ public class ReflectionBasedServiceDiscovery extends AbstractServiceDiscovery { } private void updateInstanceMetadata(ServiceInstance serviceInstance) { - String metadataString = JSONObject.toJSONString(serviceInstance.getMetadata()); + String metadataString = JsonUtils.getJson().toJson(serviceInstance.getMetadata()); String metadataRevision = RevisionResolver.calRevision(metadataString); // check if metadata updated @@ -201,7 +200,7 @@ public class ReflectionBasedServiceDiscovery extends AbstractServiceDiscovery { // Metadata will be updated by provider callback String metadataString = metadataMap.get(hostId); - serviceInstance.setMetadata(JSONObject.parseObject(metadataString, Map.class)); + serviceInstance.setMetadata(JsonUtils.getJson().toJavaObject(metadataString, Map.class)); } else { // refer from MetadataUtils, this proxy is different from the one used to refer exportedURL MetadataService metadataService = getMetadataServiceProxy(serviceInstance); @@ -220,12 +219,12 @@ public class ReflectionBasedServiceDiscovery extends AbstractServiceDiscovery { } }); metadataMap.put(hostId, metadata); - serviceInstance.setMetadata(JSONObject.parseObject(metadata, Map.class)); + serviceInstance.setMetadata(JsonUtils.getJson().toJavaObject(metadata, Map.class)); } } public final void notifyListener(String serviceName, ServiceInstancesChangedListener listener, List instances) { - String serviceInstanceRevision = RevisionResolver.calRevision(JSONObject.toJSONString(instances)); + String serviceInstanceRevision = RevisionResolver.calRevision(JsonUtils.getJson().toJson(instances)); boolean changed = !serviceInstanceRevision.equalsIgnoreCase( serviceInstanceRevisionMap.put(serviceName, serviceInstanceRevision));