This is an automated email from the ASF dual-hosted git repository.
albumenj pushed a commit to branch 3.2
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/3.2 by this push:
new fd103b7241 Remove fastjson and gson transitive dependency (#10792)
fd103b7241 is described below
commit fd103b72412d548587367cbdc73fcec811152e97
Author: Albumen Kevin <[email protected]>
AuthorDate: Tue Nov 8 19:22:33 2022 +0800
Remove fastjson and gson transitive dependency (#10792)
---
dubbo-common/pom.xml | 3 ++-
.../dubbo/metadata/definition/model/TypeDefinition.java | 4 ----
dubbo-dependencies-bom/pom.xml | 2 +-
dubbo-distribution/dubbo-all/pom.xml | 14 +-------------
.../registry/kubernetes/KubernetesServiceDiscovery.java | 6 +++---
dubbo-monitor/dubbo-monitor-default/pom.xml | 5 +++++
.../registry/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 @@
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
- <scope>provided</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
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 {
* <p>
* if this type is not ParameterizedType, the items is null or empty
*/
- @SerializedName("items")
private List<String> items;
/**
@@ -54,7 +51,6 @@ public class TypeDefinition implements Serializable {
* <p>
* If this type is not enum, enums is null or empty
*/
- @SerializedName("enum")
private List<String> 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 @@
<httpclient_version>4.5.13</httpclient_version>
<httpcore_version>4.4.6</httpcore_version>
<fastjson_version>1.2.83</fastjson_version>
- <fastjson2_version>2.0.16</fastjson2_version>
+ <fastjson2_version>2.0.17</fastjson2_version>
<zookeeper_version>3.4.14</zookeeper_version>
<curator_version>4.2.0</curator_version>
<curator_test_version>2.12.0</curator_test_version>
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 @@
<scope>compile</scope>
<optional>true</optional>
</dependency>
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>hessian-lite</artifactId>
- <scope>compile</scope>
- <optional>true</optional>
- </dependency>
<!-- metadata -->
<dependency>
<groupId>org.apache.dubbo</groupId>
@@ -351,17 +345,13 @@
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
</dependency>
- <dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- </dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
- <artifactId>fastjson</artifactId>
+ <artifactId>hessian-lite</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
@@ -405,7 +395,6 @@
<promoteTransitiveDependencies>false</promoteTransitiveDependencies>
<artifactSet>
<includes>
- <include>com.alibaba:hessian-lite</include>
<include>org.apache.dubbo:dubbo-auth</include>
<include>org.apache.dubbo:dubbo-cluster</include>
<include>org.apache.dubbo:dubbo-common</include>
@@ -1168,7 +1157,6 @@
<includeDependencySources>true</includeDependencySources>
<dependencySourceIncludes>
<dependencySourceInclude>org.apache.dubbo:dubbo-*</dependencySourceInclude>
-
<dependencySourceExclude>com.alibaba:hessian-*</dependencySourceExclude>
</dependencySourceIncludes>
<show>public</show>
<charset>UTF-8</charset>
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 @@
<version>${project.parent.version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
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<ServiceInstance> instances) {
- String serviceInstanceRevision =
RevisionResolver.calRevision(JSONObject.toJSONString(instances));
+ String serviceInstanceRevision =
RevisionResolver.calRevision(JsonUtils.getJson().toJson(instances));
boolean changed = !serviceInstanceRevision.equalsIgnoreCase(
serviceInstanceRevisionMap.put(serviceName,
serviceInstanceRevision));