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 <[email protected]>
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
+}