You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by al...@apache.org on 2022/12/11 03:09:29 UTC

[dubbo] branch 3.2 updated: Read default prefer serialization from serialization first (#11024)

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 093fd43f7f Read default prefer serialization from serialization first (#11024)
093fd43f7f is described below

commit 093fd43f7fc7fd152fd57a44b4e0d374638a9bd3
Author: Albumen Kevin <jh...@gmail.com>
AuthorDate: Sun Dec 11 11:08:58 2022 +0800

    Read default prefer serialization from serialization first (#11024)
---
 .../apache/dubbo/config/AbstractServiceConfig.java |  2 +-
 .../dubbo/config/AbstractServiceConfigTest.java    | 38 ++++++++++++++++++++--
 2 files changed, 37 insertions(+), 3 deletions(-)

diff --git a/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractServiceConfig.java b/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractServiceConfig.java
index 843da099e8..d77b2c3e49 100644
--- a/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractServiceConfig.java
+++ b/dubbo-common/src/main/java/org/apache/dubbo/config/AbstractServiceConfig.java
@@ -168,7 +168,7 @@ public abstract class AbstractServiceConfig extends AbstractInterfaceConfig {
         }
 
         if (StringUtils.isBlank(preferSerialization)) {
-            preferSerialization = DEFAULT_PREFER_SERIALIZATION;
+            preferSerialization = serialization != null ? serialization : DEFAULT_PREFER_SERIALIZATION;
         }
     }
 
diff --git a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/AbstractServiceConfigTest.java b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/AbstractServiceConfigTest.java
index d0c630ee41..2ceeb7d74c 100644
--- a/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/AbstractServiceConfigTest.java
+++ b/dubbo-config/dubbo-config-api/src/test/java/org/apache/dubbo/config/AbstractServiceConfigTest.java
@@ -27,6 +27,7 @@ import java.util.Map;
 
 import static org.apache.dubbo.common.constants.CommonConstants.EXPORTER_LISTENER_KEY;
 import static org.apache.dubbo.common.constants.CommonConstants.SERVICE_FILTER_KEY;
+import static org.apache.dubbo.common.constants.ProviderConstants.DEFAULT_PREFER_SERIALIZATION;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.hasEntry;
@@ -34,6 +35,7 @@ import static org.hamcrest.Matchers.hasSize;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.notNullValue;
 import static org.hamcrest.Matchers.nullValue;
+import static org.junit.jupiter.api.Assertions.assertNull;
 
 class AbstractServiceConfigTest {
     @Test
@@ -178,14 +180,46 @@ class AbstractServiceConfigTest {
     }
 
     @Test
-    public void testPreferSerialization() throws Exception {
+    void testPreferSerialization() throws Exception {
         ServiceConfig serviceConfig = new ServiceConfig();
         serviceConfig.setPreferSerialization("preferSerialization");
         assertThat(serviceConfig.getPreferSerialization(), equalTo("preferSerialization"));
     }
 
+    @Test
+    void testPreferSerializationDefault1() throws Exception {
+        ServiceConfig serviceConfig = new ServiceConfig();
+        assertNull(serviceConfig.getPreferSerialization());
+
+        serviceConfig.checkDefault();
+        assertThat(serviceConfig.getPreferSerialization(), equalTo(DEFAULT_PREFER_SERIALIZATION));
+
+        serviceConfig = new ServiceConfig();
+        serviceConfig.setSerialization("x-serialization");
+        assertNull(serviceConfig.getPreferSerialization());
+
+        serviceConfig.checkDefault();
+        assertThat(serviceConfig.getPreferSerialization(), equalTo("x-serialization"));
+    }
+
+    @Test
+    void testPreferSerializationDefault2() throws Exception {
+        ServiceConfig serviceConfig = new ServiceConfig();
+        assertNull(serviceConfig.getPreferSerialization());
+
+        serviceConfig.refresh();
+        assertThat(serviceConfig.getPreferSerialization(), equalTo(DEFAULT_PREFER_SERIALIZATION));
+
+        serviceConfig = new ServiceConfig();
+        serviceConfig.setSerialization("x-serialization");
+        assertNull(serviceConfig.getPreferSerialization());
+
+        serviceConfig.refresh();
+        assertThat(serviceConfig.getPreferSerialization(), equalTo("x-serialization"));
+    }
+
 
     private static class ServiceConfig extends AbstractServiceConfig {
 
     }
-}
\ No newline at end of file
+}