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

songxiaosheng pushed a commit to branch 3.2.0
in repository https://gitbox.apache.org/repos/asf/dubbo-spi-extensions.git


The following commit(s) were added to refs/heads/3.2.0 by this push:
     new c828581  serialization module adapter to 3.2 (#259)
c828581 is described below

commit c828581d94110d9b72c0d239865a1e9999054787
Author: xixingya <2679431...@qq.com>
AuthorDate: Fri Dec 22 21:36:22 2023 +0800

    serialization module adapter to 3.2 (#259)
    
    * avro,fst,kryo,msgpack adapt to 3.2
    
    * serialize adapt to 3.2
    
    * remove cycle refer
    
    * add model
    
    * change fix
    
    * bug fix
    
    * format
    
    * ci fix
    
    * avoid import *
    
    * avoid import *
    
    * avoid import *
    
    * avoid import *
    
    * style fix
    
    * maven fix
    
    ---------
    
    Co-authored-by: xiaosheng <songxiaosh...@apache.org>
---
 .github/workflows/ci.yml                           |   2 +-
 .../dubbo-serialization-avro/pom.xml               |   8 +-
 .../common/serialize/avro/AvroObjectInput.java     |   4 +-
 .../common/serialize/avro/AvroObjectOutput.java    |   4 +-
 .../serialize/avro/AvroObjectInputOutputTest.java  |   1 -
 .../serialize/avro/AvroSerializationTest.java      |   1 -
 .../dubbo-serialization-common/pom.xml             |   2 +
 .../dubbo-serialization-fastjson/pom.xml           |   2 +
 .../dubbo-serialization-fst/pom.xml                |  15 +-
 .../dubbo/common/serialize/fst/FstObjectInput.java |   2 +-
 .../common/serialize/fst/FstObjectOutput.java      |   2 +-
 .../dubbo/common/serialize/fst/FstFactoryTest.java |   0
 .../common/serialize/fst/FstObjectInputTest.java   |   1 -
 .../common/serialize/fst/FstObjectOutputTest.java  |   1 -
 .../common/serialize/fst/FstSerializationTest.java |   1 -
 .../dubbo-serialization-fury/pom.xml               |   3 +
 .../dubbo-serialization-gson/pom.xml               |   7 +-
 .../dubbo-serialization-jackson/pom.xml            |   2 +
 .../dubbo-serialization-kryo/pom.xml               |  16 +-
 .../common/serialize/kryo/KryoObjectInput.java     |   2 +-
 .../serialize/kryo/optimized/KryoObjectInput2.java |   2 +-
 .../kryo/optimized/KryoObjectOutput2.java          |   4 +-
 .../common/serialize/kryo/KryoPersonOkTest.java    |   2 +-
 .../serialize/kryo/KryoSerialization2Test.java     |   4 +-
 .../serialize/kryo/KyroSerializationTest.java      |   0
 .../dubbo-serialization-msgpack/pom.xml            |  11 +-
 .../serialize/msgpack/MsgpackObjectInput.java      |   2 +-
 .../serialize/msgpack/MsgpackObjectOutput.java     |   2 +-
 .../dubbo-serialization-native-hession/pom.xml     |   2 +-
 .../dubbo-serialization-protobuf/pom.xml           |   8 +-
 .../support/GenericProtobufJsonObjectOutput.java   |  18 +-
 .../support/GenericProtobufObjectOutput.java       |  18 +-
 .../support/AbstractProtobufSerializationTest.java |   1 -
 .../GenericProtobufJsonObjectOutputTest.java       |   1 -
 .../GenericProtobufJsonSerializationTest.java      |   0
 .../support/GenericProtobufSerializationTest.java  |   0
 .../serialize/protobuf/support/model/GooglePB.java |   0
 .../protobuf/support/model/ServiceInterface.java   |   0
 .../src/test/proto/GooglePB.proto                  |   0
 .../dubbo-serialization-protostuff/pom.xml         |  15 +-
 .../protostuff/ProtostuffObjectOutputTest.java     |   1 -
 .../protostuff/ProtostuffSerializationTest.java    |   0
 .../dubbo-serialization-test/pom.xml               |  44 +----
 .../base/AbstractSerializationPersonFailTest.java  |   1 -
 .../base/AbstractSerializationPersonOkTest.java    |   1 -
 .../serialize/base/AbstractSerializationTest.java  |   3 +-
 .../dubbo/common/serialize/model/AnimalEnum.java   |   2 +-
 .../dubbo/common/serialize/model/BizException.java |   2 +-
 .../model/BizExceptionNoDefaultConstructor.java    |   2 +-
 .../dubbo/common/serialize/model/Organization.java |   0
 .../dubbo/common/serialize/model/Person.java       |   2 +-
 .../common/serialize/model/SerializablePerson.java |   2 +-
 .../dubbo/common/serialize/model/media/Image.java  |   2 +-
 .../dubbo/common/serialize/model/media/Media.java  |   2 +-
 .../common/serialize/model/media/MediaContent.java |   2 +-
 .../common/serialize/model/person/BigPerson.java   |   0
 .../common/serialize/model/person/FullAddress.java |   2 +-
 .../common/serialize/model/person/PersonInfo.java  |   0
 .../serialize/model/person/PersonStatus.java       |   2 +-
 .../dubbo/common/serialize/model/person/Phone.java |   2 +-
 .../serialize/jackson/JacksonObjectInputTest.java  | 202 ---------------------
 .../serialize/jackson/JacksonObjectOutputTest.java | 145 ---------------
 .../jackson/JacksonSerializationTest.java          |  68 -------
 63 files changed, 135 insertions(+), 518 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index e881190..5270c23 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -42,7 +42,7 @@ jobs:
           ./mvnw --batch-mode -U -e --no-transfer-progress clean test verify 
-Pjacoco -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 
-Dmaven.wagon.http.retryHandler.count=5 -DskipTests=false 
-DskipIntegrationTests=false -Dcheckstyle.skip=false 
-Dcheckstyle_unix.skip=false -Drat.skip=false -Dmaven.javadoc.skip=true
       - name: "Test with Maven"
         timeout-minutes: 50
-        if: ${{ startsWith( matrix.os) }}
+        if: ${{ startsWith( matrix.os, 'windows') }}
         run: |
           cd ./dubbo-spi-extensions
           ./mvnw --batch-mode -U -e --no-transfer-progress clean test verify 
-Pjacoco -D"http.keepAlive=false" -D"maven.wagon.http.pool=false" 
-D"maven.wagon.httpconnectionManager.ttlSeconds=120" 
-D"maven.wagon.http.retryHandler.count=5" -DskipTests=false 
-DskipIntegrationTests=true -D"checkstyle.skip=false" 
-D"checkstyle_unix.skip=true" -D"rat.skip=false" -D"maven.javadoc.skip=true"
diff --git a/dubbo-serialization-extensions/dubbo-serialization-avro/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-avro/pom.xml
index e059249..6fee7a2 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-avro/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-avro/pom.xml
@@ -26,7 +26,7 @@
     <artifactId>dubbo-serialization-avro</artifactId>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
-    <version>1.0.2-SNAPSHOT</version>
+    <version>3.2.0-SNAPSHOT</version>
     <description>The avro serialization module of dubbo project</description>
     <properties>
         <skip_maven_deploy>false</skip_maven_deploy>
@@ -46,6 +46,12 @@
             <version>${dubbo.version}</version>
             <optional>true</optional>
         </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo.extensions</groupId>
+            <artifactId>dubbo-serialization-test</artifactId>
+            <version>3.2.0-SNAPSHOT</version>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>org.apache.avro</groupId>
             <artifactId>avro</artifactId>
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroObjectInput.java
 
b/dubbo-serialization-extensions/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroObjectInput.java
index 036f5f0..0f37d71 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroObjectInput.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroObjectInput.java
@@ -31,8 +31,8 @@ import java.util.HashMap;
 import java.util.Map;
 
 public class AvroObjectInput implements ObjectInput {
-    private static DecoderFactory decoderFactory = DecoderFactory.get();
-    private BinaryDecoder decoder;
+    private static final DecoderFactory decoderFactory = DecoderFactory.get();
+    private final BinaryDecoder decoder;
 
     public AvroObjectInput(InputStream in) {
         decoder = decoderFactory.binaryDecoder(in, null);
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroObjectOutput.java
 
b/dubbo-serialization-extensions/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroObjectOutput.java
index a1f97c3..da78e9c 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroObjectOutput.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-avro/src/main/java/org/apache/dubbo/common/serialize/avro/AvroObjectOutput.java
@@ -29,8 +29,8 @@ import java.nio.charset.StandardCharsets;
 import java.util.Arrays;
 
 public class AvroObjectOutput implements ObjectOutput {
-    private static EncoderFactory encoderFactory = EncoderFactory.get();
-    private BinaryEncoder encoder;
+    private static final EncoderFactory encoderFactory = EncoderFactory.get();
+    private final BinaryEncoder encoder;
 
     public AvroObjectOutput(OutputStream out) {
         encoder = encoderFactory.binaryEncoder(out, null);
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/avro/AvroObjectInputOutputTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-avro/src/test/java/org/apache/dubbo/common/serialize/avro/AvroObjectInputOutputTest.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/avro/AvroObjectInputOutputTest.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-avro/src/test/java/org/apache/dubbo/common/serialize/avro/AvroObjectInputOutputTest.java
index 6ca1cac..0ef1f3a 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/avro/AvroObjectInputOutputTest.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-avro/src/test/java/org/apache/dubbo/common/serialize/avro/AvroObjectInputOutputTest.java
@@ -18,7 +18,6 @@ package org.apache.dubbo.common.serialize.avro;
 
 
 import org.apache.dubbo.common.serialize.model.Person;
-
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/avro/AvroSerializationTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-avro/src/test/java/org/apache/dubbo/common/serialize/avro/AvroSerializationTest.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/avro/AvroSerializationTest.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-avro/src/test/java/org/apache/dubbo/common/serialize/avro/AvroSerializationTest.java
index 0b12757..2151e3e 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/avro/AvroSerializationTest.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-avro/src/test/java/org/apache/dubbo/common/serialize/avro/AvroSerializationTest.java
@@ -18,7 +18,6 @@ package org.apache.dubbo.common.serialize.avro;
 
 import org.apache.dubbo.common.serialize.ObjectInput;
 import org.apache.dubbo.common.serialize.ObjectOutput;
-
 import org.hamcrest.Matchers;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dubbo-serialization-extensions/dubbo-serialization-common/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-common/pom.xml
index 37a53c4..6ab846f 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-common/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-common/pom.xml
@@ -38,11 +38,13 @@ limitations under the License.
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-serialization-api</artifactId>
             <version>3.2.7</version>
+            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-common</artifactId>
             <version>3.2.7</version>
+            <optional>true</optional>
         </dependency>
     </dependencies>
 </project>
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-fastjson/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-fastjson/pom.xml
index e84c7ad..f9208fa 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-fastjson/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-fastjson/pom.xml
@@ -43,11 +43,13 @@ limitations under the License.
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-serialization-api</artifactId>
             <version>${dubbo.version}</version>
+            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-common</artifactId>
             <version>${dubbo.version}</version>
+            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>com.alibaba</groupId>
diff --git a/dubbo-serialization-extensions/dubbo-serialization-fst/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-fst/pom.xml
index f8a60ac..4d10280 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-fst/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-fst/pom.xml
@@ -26,17 +26,30 @@
     <artifactId>dubbo-serialization-fst</artifactId>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
-    <version>1.0.2-SNAPSHOT</version>
+    <version>3.2.0-SNAPSHOT</version>
     <description>The fst serialization module of dubbo project</description>
     <properties>
         <skip_maven_deploy>false</skip_maven_deploy>
+        <dubbo.version>3.2.7</dubbo.version>
     </properties>
     <dependencies>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-serialization-api</artifactId>
+            <version>${dubbo.version}</version>
             <optional>true</optional>
         </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-common</artifactId>
+            <version>3.2.7</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo.extensions</groupId>
+            <artifactId>dubbo-serialization-test</artifactId>
+            <version>3.2.0-SNAPSHOT</version>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>de.ruedigermoeller</groupId>
             <artifactId>fst</artifactId>
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstObjectInput.java
 
b/dubbo-serialization-extensions/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstObjectInput.java
index 51e8340..e08c98f 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstObjectInput.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstObjectInput.java
@@ -29,7 +29,7 @@ import java.lang.reflect.Type;
  */
 public class FstObjectInput implements ObjectInput {
 
-    private FSTObjectInput input;
+    private final FSTObjectInput input;
 
     public FstObjectInput(InputStream inputStream) {
         input = FstFactory.getDefaultFactory().getObjectInput(inputStream);
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstObjectOutput.java
 
b/dubbo-serialization-extensions/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstObjectOutput.java
index a2c40e5..4ff4ee2 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstObjectOutput.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-fst/src/main/java/org/apache/dubbo/common/serialize/fst/FstObjectOutput.java
@@ -28,7 +28,7 @@ import java.io.OutputStream;
  */
 public class FstObjectOutput implements ObjectOutput {
 
-    private FSTObjectOutput output;
+    private final FSTObjectOutput output;
 
     public FstObjectOutput(OutputStream outputStream) {
         output = FstFactory.getDefaultFactory().getObjectOutput(outputStream);
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstFactoryTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstFactoryTest.java
similarity index 100%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstFactoryTest.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstFactoryTest.java
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectInputTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectInputTest.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectInputTest.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectInputTest.java
index 2937dba..1fdcb7e 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectInputTest.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectInputTest.java
@@ -17,7 +17,6 @@
 package org.apache.dubbo.common.serialize.fst;
 
 import org.apache.dubbo.common.serialize.model.person.FullAddress;
-
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectOutputTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectOutputTest.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectOutputTest.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectOutputTest.java
index c8ef1c7..2ad62c8 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectOutputTest.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstObjectOutputTest.java
@@ -18,7 +18,6 @@ package org.apache.dubbo.common.serialize.fst;
 
 import org.apache.dubbo.common.serialize.model.AnimalEnum;
 import org.apache.dubbo.common.serialize.model.person.FullAddress;
-
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstSerializationTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstSerializationTest.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstSerializationTest.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstSerializationTest.java
index 24de5bf..f340cba 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/fst/FstSerializationTest.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-fst/src/test/java/org/apache/dubbo/common/serialize/fst/FstSerializationTest.java
@@ -18,7 +18,6 @@ package org.apache.dubbo.common.serialize.fst;
 
 import org.apache.dubbo.common.serialize.ObjectInput;
 import org.apache.dubbo.common.serialize.ObjectOutput;
-
 import org.hamcrest.Matchers;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git a/dubbo-serialization-extensions/dubbo-serialization-fury/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-fury/pom.xml
index fb7b98d..278164c 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-fury/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-fury/pom.xml
@@ -27,6 +27,9 @@ limitations under the License.
     </parent>
 
     <artifactId>dubbo-serialization-fury</artifactId>
+    <packaging>jar</packaging>
+    <name>${project.artifactId}</name>
+    <version>3.2.0-SNAPSHOT</version>
 
     <properties>
         <maven.compiler.source>17</maven.compiler.source>
diff --git a/dubbo-serialization-extensions/dubbo-serialization-gson/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-gson/pom.xml
index 2a7b0b1..17ae41b 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-gson/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-gson/pom.xml
@@ -32,20 +32,17 @@ Licensed to the Apache Software Foundation (ASF) under one 
or more
         <skip_maven_deploy>false</skip_maven_deploy>
     </properties>
     <dependencies>
-        <dependency>
-            <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-serialization-api</artifactId>
-            <optional>true</optional>
-        </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-serialization-api</artifactId>
             <version>3.2.7</version>
+            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-common</artifactId>
             <version>3.2.7</version>
+            <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo.extensions</groupId>
diff --git a/dubbo-serialization-extensions/dubbo-serialization-jackson/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-jackson/pom.xml
index a4ea97d..50ff4b2 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-jackson/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-jackson/pom.xml
@@ -27,6 +27,7 @@
 
     <artifactId>dubbo-serialization-jackson</artifactId>
     <description>The jackson serialization module of dubbo 
project</description>
+    <version>3.2.0-SNAPSHOT</version>
 
     <properties>
         <maven.compiler.source>1.8</maven.compiler.source>
@@ -49,6 +50,7 @@
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-common</artifactId>
+            <optional>true</optional>
             <version>3.2.7</version>
         </dependency>
         <dependency>
diff --git a/dubbo-serialization-extensions/dubbo-serialization-kryo/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-kryo/pom.xml
index fb887df..1fe9a88 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-kryo/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-kryo/pom.xml
@@ -27,18 +27,32 @@ limitations under the License.
     <artifactId>dubbo-serialization-kryo</artifactId>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
-    <version>1.0.2-SNAPSHOT</version>
+    <version>3.2.0-SNAPSHOT</version>
     <description>The kryo serialization module of dubbo project</description>
     <properties>
         <skip_maven_deploy>false</skip_maven_deploy>
+        <dubbo.version>3.2.7</dubbo.version>
         
<dubbo-common-extensions-version>1.0.1</dubbo-common-extensions-version>
     </properties>
     <dependencies>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-serialization-api</artifactId>
+            <version>${dubbo.version}</version>
             <optional>true</optional>
         </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-common</artifactId>
+            <version>${dubbo.version}</version>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo.extensions</groupId>
+            <artifactId>dubbo-serialization-test</artifactId>
+            <version>3.2.0-SNAPSHOT</version>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>com.esotericsoftware</groupId>
             <artifactId>kryo</artifactId>
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/KryoObjectInput.java
 
b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/KryoObjectInput.java
index 91648e5..1fac670 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/KryoObjectInput.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/KryoObjectInput.java
@@ -34,7 +34,7 @@ import java.lang.reflect.Type;
 public class KryoObjectInput implements ObjectInput, Cleanable {
 
     private Kryo kryo;
-    private Input input;
+    private final Input input;
 
     public KryoObjectInput(InputStream inputStream) {
         input = new Input(inputStream);
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/optimized/KryoObjectInput2.java
 
b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/optimized/KryoObjectInput2.java
index 648557a..cf89e4d 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/optimized/KryoObjectInput2.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/optimized/KryoObjectInput2.java
@@ -36,7 +36,7 @@ import java.util.Map;
 public class KryoObjectInput2 implements ObjectInput, Cleanable {
 
     private Kryo kryo;
-    private Input input;
+    private final Input input;
 
     public KryoObjectInput2(InputStream inputStream) {
         input = new Input(inputStream);
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/optimized/KryoObjectOutput2.java
 
b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/optimized/KryoObjectOutput2.java
index 8500a06..118f401 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/optimized/KryoObjectOutput2.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/main/java/org/apache/dubbo/common/serialize/kryo/optimized/KryoObjectOutput2.java
@@ -31,7 +31,7 @@ import java.io.OutputStream;
  */
 public class KryoObjectOutput2 implements ObjectOutput, Cleanable {
 
-    private Output output;
+    private final Output output;
     private Kryo kryo;
 
     public KryoObjectOutput2(OutputStream outputStream) {
@@ -105,7 +105,7 @@ public class KryoObjectOutput2 implements ObjectOutput, 
Cleanable {
     }
 
     @Override
-    public void writeThrowable(Object v) throws IOException {
+    public void writeThrowable(Throwable v) throws IOException {
         kryo.writeClassAndObject(output, v);
     }
 
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoPersonOkTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoPersonOkTest.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoPersonOkTest.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-kryo/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoPersonOkTest.java
index 6ed8636..7e82285 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoPersonOkTest.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoPersonOkTest.java
@@ -26,4 +26,4 @@ public class KryoPersonOkTest extends 
AbstractSerializationPersonOkTest {
     {
         serialization = new KryoSerialization();
     }
-}
+}
\ No newline at end of file
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoSerialization2Test.java
 
b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoSerialization2Test.java
similarity index 97%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoSerialization2Test.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-kryo/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoSerialization2Test.java
index 760761e..ed14ffd 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoSerialization2Test.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/test/java/org/apache/dubbo/common/serialize/kryo/KryoSerialization2Test.java
@@ -88,7 +88,7 @@ public class KryoSerialization2Test {
         objectOutput.flushBuffer();
 
         ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(
-            byteArrayOutputStream.toByteArray());
+                byteArrayOutputStream.toByteArray());
         ObjectInput deserialize = serialization.deserialize(url, 
byteArrayInputStream);
 
         assertEquals(bigPerson, 
BigPerson.class.cast(deserialize.readObject(BigPerson.class)));
@@ -112,7 +112,7 @@ public class KryoSerialization2Test {
         objectOutput.flushBuffer();
 
         ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(
-            byteArrayOutputStream.toByteArray());
+                byteArrayOutputStream.toByteArray());
         ObjectInput deserialize = serialization.deserialize(url, 
byteArrayInputStream);
 
         assertEquals(bigPerson, 
BigPerson.class.cast(deserialize.readObject(BigPerson.class)));
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/kryo/KyroSerializationTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-kryo/src/test/java/org/apache/dubbo/common/serialize/kryo/KyroSerializationTest.java
similarity index 100%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/kryo/KyroSerializationTest.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-kryo/src/test/java/org/apache/dubbo/common/serialize/kryo/KyroSerializationTest.java
diff --git a/dubbo-serialization-extensions/dubbo-serialization-msgpack/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-msgpack/pom.xml
index 960ba07..6792dad 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-msgpack/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-msgpack/pom.xml
@@ -25,12 +25,13 @@ Licensed to the Apache Software Foundation (ASF) under one 
or more
         <relativePath>../pom.xml</relativePath>
     </parent>
     <artifactId>dubbo-serialization-msgpack</artifactId>
-    <version>1.0.2-SNAPSHOT</version>
+    <version>3.2.0-SNAPSHOT</version>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
     <description>The Msgpack serialization implement for dubbo</description>
     <properties>
         <skip_maven_deploy>false</skip_maven_deploy>
+        <dubbo.version>3.2.7</dubbo.version>
     </properties>
 
     <dependencies>
@@ -38,6 +39,14 @@ Licensed to the Apache Software Foundation (ASF) under one 
or more
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-serialization-api</artifactId>
+            <version>${dubbo.version}</version>
+            <optional>true</optional>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-common</artifactId>
+            <version>${dubbo.version}</version>
             <optional>true</optional>
         </dependency>
 
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-msgpack/src/main/java/org/apache/dubbo/common/serialize/msgpack/MsgpackObjectInput.java
 
b/dubbo-serialization-extensions/dubbo-serialization-msgpack/src/main/java/org/apache/dubbo/common/serialize/msgpack/MsgpackObjectInput.java
index 3b7c004..46c5bf5 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-msgpack/src/main/java/org/apache/dubbo/common/serialize/msgpack/MsgpackObjectInput.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-msgpack/src/main/java/org/apache/dubbo/common/serialize/msgpack/MsgpackObjectInput.java
@@ -32,7 +32,7 @@ public class MsgpackObjectInput implements ObjectInput {
 
     private final InputStream in;
 
-    private ObjectMapper om;
+    private final ObjectMapper om;
 
     public MsgpackObjectInput(InputStream in) {
         this.in = in;
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-msgpack/src/main/java/org/apache/dubbo/common/serialize/msgpack/MsgpackObjectOutput.java
 
b/dubbo-serialization-extensions/dubbo-serialization-msgpack/src/main/java/org/apache/dubbo/common/serialize/msgpack/MsgpackObjectOutput.java
index c335352..f707b9d 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-msgpack/src/main/java/org/apache/dubbo/common/serialize/msgpack/MsgpackObjectOutput.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-msgpack/src/main/java/org/apache/dubbo/common/serialize/msgpack/MsgpackObjectOutput.java
@@ -97,7 +97,7 @@ public class MsgpackObjectOutput implements ObjectOutput {
     }
 
     @Override
-    public void writeThrowable(Object obj) throws IOException {
+    public void writeThrowable(Throwable obj) throws IOException {
         writeObject(obj.getClass());
         writeObject(obj);
     }
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-native-hession/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-native-hession/pom.xml
index 0a1157e..bb837bc 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-native-hession/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-native-hession/pom.xml
@@ -25,7 +25,7 @@ limitations under the License.
     </parent>
 
     <artifactId>dubbo-serialization-native-hession</artifactId>
-    <version>1.0.2-SNAPSHOT</version>
+    <version>3.2.0-SNAPSHOT</version>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
     <description>The native-hession serialization module of dubbo 
project</description>
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-protobuf/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-protobuf/pom.xml
index 438132c..24e01b4 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-protobuf/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-protobuf/pom.xml
@@ -26,24 +26,24 @@ limitations under the License.
     <artifactId>dubbo-serialization-protobuf</artifactId>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
-    <version>1.0.2-SNAPSHOT</version>
+    <version>3.2.0-SNAPSHOT</version>
     <description>The protobuf serialization module of dubbo 
project</description>
     <properties>
         <skip_maven_deploy>false</skip_maven_deploy>
         <dubbo.compiler.version>0.0.1-SNAPSHOT</dubbo.compiler.version>
-        <dubbo.version>2.7.23</dubbo.version>
+        <dubbo.version>3.2.7</dubbo.version>
     </properties>
     <dependencies>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-serialization-api</artifactId>
-            <version>2.7.23</version>
+            <version>${dubbo.version}</version>
             <optional>true</optional>
         </dependency>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-common</artifactId>
-            <version>2.7.23</version>
+            <version>${dubbo.version}</version>
             <optional>true</optional>
         </dependency>
         <dependency>
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/main/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutput.java
 
b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/main/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutput.java
index 4940e28..54605ba 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/main/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutput.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/main/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutput.java
@@ -27,12 +27,14 @@ import com.google.protobuf.FloatValue;
 import com.google.protobuf.Int32Value;
 import com.google.protobuf.Int64Value;
 import com.google.protobuf.StringValue;
+import org.apache.dubbo.common.serialize.protobuf.support.wrapper.ThrowablePB;
 
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 import java.util.Map;
+import java.util.Objects;
 
 import static 
org.apache.dubbo.common.constants.CommonConstants.HEARTBEAT_EVENT;
 import static 
org.apache.dubbo.common.constants.CommonConstants.MOCK_HEARTBEAT_EVENT;
@@ -115,21 +117,23 @@ public class GenericProtobufJsonObjectOutput implements 
ObjectOutput {
     }
 
     @Override
-    public void writeThrowable(Object th) throws IOException {
-        if (th instanceof Throwable && 
!ProtobufUtils.isSupported(th.getClass())) {
-            th = ProtobufUtils.convertToThrowableProto((Throwable) th);
+    public void writeThrowable(Throwable th) throws IOException {
+        if (!ProtobufUtils.isSupported(th.getClass())) {
+            ThrowablePB.ThrowableProto throwableProto = 
ProtobufUtils.convertToThrowableProto(th);
+            writer.write(ProtobufUtils.serializeJson(throwableProto));
+        } else {
+            writer.write(ProtobufUtils.serializeJson(th));
         }
-        writer.write(ProtobufUtils.serializeJson(th));
         writer.println();
         writer.flush();
     }
 
     @Override
-    public void writeEvent(Object data) throws IOException {
-        if (data == HEARTBEAT_EVENT) {
+    public void writeEvent(String data) throws IOException {
+        if (Objects.equals(data, HEARTBEAT_EVENT)) {
             data = MOCK_HEARTBEAT_EVENT;
         }
-        writeUTF((String) data);
+        writeUTF(data);
     }
 
     /**
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/main/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufObjectOutput.java
 
b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/main/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufObjectOutput.java
index 55bdba9..b114c4b 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/main/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufObjectOutput.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/main/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufObjectOutput.java
@@ -28,10 +28,12 @@ import com.google.protobuf.StringValue;
 
 import org.apache.dubbo.common.serialize.ObjectOutput;
 import org.apache.dubbo.common.serialize.protobuf.support.wrapper.MapValue;
+import org.apache.dubbo.common.serialize.protobuf.support.wrapper.ThrowablePB;
 
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.Map;
+import java.util.Objects;
 
 import static 
org.apache.dubbo.common.constants.CommonConstants.HEARTBEAT_EVENT;
 import static 
org.apache.dubbo.common.constants.CommonConstants.MOCK_HEARTBEAT_EVENT;
@@ -119,19 +121,21 @@ public class GenericProtobufObjectOutput implements 
ObjectOutput {
     }
 
     @Override
-    public void writeEvent(Object data) throws IOException {
-        if (data == HEARTBEAT_EVENT) {
+    public void writeEvent(String data) throws IOException {
+        if (Objects.equals(data, HEARTBEAT_EVENT)) {
             data = MOCK_HEARTBEAT_EVENT;
         }
-        writeUTF((String) data);
+        writeUTF(data);
     }
 
     @Override
-    public void writeThrowable(Object obj) throws IOException {
-        if (obj instanceof Throwable && !(obj instanceof MessageLite)) {
-            obj = ProtobufUtils.convertToThrowableProto((Throwable) obj);
+    public void writeThrowable(Throwable obj) throws IOException {
+        if (!(obj instanceof MessageLite)) {
+            ThrowablePB.ThrowableProto throwableProto = 
ProtobufUtils.convertToThrowableProto(obj);
+            ProtobufUtils.serialize(throwableProto, os);
+        } else {
+            ProtobufUtils.serialize(obj, os);
         }
-        ProtobufUtils.serialize(obj, os);
         os.flush();
     }
 
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/AbstractProtobufSerializationTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/AbstractProtobufSerializationTest.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/AbstractProtobufSerializationTest.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/AbstractProtobufSerializationTest.java
index 88ad01a..dc37ad6 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/AbstractProtobufSerializationTest.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/AbstractProtobufSerializationTest.java
@@ -21,7 +21,6 @@ import org.apache.dubbo.common.serialize.ObjectInput;
 import org.apache.dubbo.common.serialize.ObjectOutput;
 import org.apache.dubbo.common.serialize.Serialization;
 import org.apache.dubbo.common.serialize.protobuf.support.model.GooglePB;
-
 import org.junit.jupiter.api.Test;
 
 import java.io.ByteArrayInputStream;
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutputTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutputTest.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutputTest.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutputTest.java
index 38f5150..28ad919 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutputTest.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonObjectOutputTest.java
@@ -17,7 +17,6 @@
 package org.apache.dubbo.common.serialize.protobuf.support;
 
 import org.apache.dubbo.common.serialize.protobuf.support.model.GooglePB;
-
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonSerializationTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonSerializationTest.java
similarity index 100%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonSerializationTest.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufJsonSerializationTest.java
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufSerializationTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufSerializationTest.java
similarity index 100%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufSerializationTest.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/GenericProtobufSerializationTest.java
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/model/GooglePB.java
 
b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/model/GooglePB.java
similarity index 100%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/model/GooglePB.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/model/GooglePB.java
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/model/ServiceInterface.java
 
b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/model/ServiceInterface.java
similarity index 100%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/model/ServiceInterface.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/java/org/apache/dubbo/common/serialize/protobuf/support/model/ServiceInterface.java
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/proto/GooglePB.proto
 
b/dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/proto/GooglePB.proto
similarity index 100%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/proto/GooglePB.proto
rename to 
dubbo-serialization-extensions/dubbo-serialization-protobuf/src/test/proto/GooglePB.proto
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-protostuff/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-protostuff/pom.xml
index 4fc39f8..98ae33d 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-protostuff/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-protostuff/pom.xml
@@ -28,19 +28,32 @@ limitations under the License.
     <artifactId>dubbo-serialization-protostuff</artifactId>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
-    <version>1.0.2-SNAPSHOT</version>
+    <version>3.2.0-SNAPSHOT</version>
     <description>The protostuff serialization module of dubbo 
project</description>
 
     <properties>
         <protostuff.version>1.5.9</protostuff.version>
+        <dubbo.version>3.2.7</dubbo.version>
     </properties>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-serialization-api</artifactId>
+            <version>${dubbo.version}</version>
             <optional>true</optional>
         </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-common</artifactId>
+            <version>${dubbo.version}</version>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.dubbo.extensions</groupId>
+            <artifactId>dubbo-serialization-test</artifactId>
+            <version>3.2.0-SNAPSHOT</version>
+        </dependency>
         <dependency>
             <groupId>io.protostuff</groupId>
             <artifactId>protostuff-core</artifactId>
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffObjectOutputTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-protostuff/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffObjectOutputTest.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffObjectOutputTest.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-protostuff/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffObjectOutputTest.java
index 693a8e3..d928430 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffObjectOutputTest.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-protostuff/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffObjectOutputTest.java
@@ -17,7 +17,6 @@
 package org.apache.dubbo.common.serialize.protostuff;
 
 import org.apache.dubbo.common.serialize.model.SerializablePerson;
-
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffSerializationTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-protostuff/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffSerializationTest.java
similarity index 100%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffSerializationTest.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-protostuff/src/test/java/org/apache/dubbo/common/serialize/protostuff/ProtostuffSerializationTest.java
diff --git a/dubbo-serialization-extensions/dubbo-serialization-test/pom.xml 
b/dubbo-serialization-extensions/dubbo-serialization-test/pom.xml
index 35412c4..c82382d 100644
--- a/dubbo-serialization-extensions/dubbo-serialization-test/pom.xml
+++ b/dubbo-serialization-extensions/dubbo-serialization-test/pom.xml
@@ -28,32 +28,21 @@
     <artifactId>dubbo-serialization-test</artifactId>
     <packaging>jar</packaging>
     <name>${project.artifactId}</name>
-    <version>${revision}</version>
+    <version>3.2.0-SNAPSHOT</version>
     <description>The test serialization module of dubbo project</description>
     <properties>
         <skip_maven_deploy>true</skip_maven_deploy>
     </properties>
 
     <dependencies>
-        <dependency>
-            <groupId>org.apache.dubbo.extensions</groupId>
-            <artifactId>dubbo-serialization-protostuff</artifactId>
-            <version>1.0.2-SNAPSHOT</version>
-        </dependency>
         <dependency>
             <artifactId>gson</artifactId>
             <groupId>com.google.code.gson</groupId>
             <version>2.8.9</version>
         </dependency>
         <dependency>
-            <groupId>org.apache.dubbo.extensions</groupId>
-            <artifactId>dubbo-serialization-jackson</artifactId>
-            <version>${revision}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.dubbo.extensions</groupId>
-            <artifactId>dubbo-serialization-protobuf</artifactId>
-            <version>1.0.2-SNAPSHOT</version>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo</artifactId>
             <exclusions>
                 <exclusion>
                     <artifactId>gson</artifactId>
@@ -62,29 +51,14 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.apache.dubbo.extensions</groupId>
-            <artifactId>dubbo-serialization-kryo</artifactId>
-            <version>1.0.2-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.dubbo.extensions</groupId>
-            <artifactId>dubbo-serialization-avro</artifactId>
-            <version>1.0.2-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.dubbo.extensions</groupId>
-            <artifactId>dubbo-serialization-fst</artifactId>
-            <version>1.0.2-SNAPSHOT</version>
+            <groupId>org.junit.jupiter</groupId>
+            <artifactId>junit-jupiter-api</artifactId>
+            <version>${junit_jupiter_version}</version>
         </dependency>
         <dependency>
-            <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo</artifactId>
-            <exclusions>
-                <exclusion>
-                    <artifactId>gson</artifactId>
-                    <groupId>com.google.code.gson</groupId>
-                </exclusion>
-            </exclusions>
+            <groupId>org.hamcrest</groupId>
+            <artifactId>hamcrest</artifactId>
+            <version>${hamcrest_version}</version>
         </dependency>
     </dependencies>
 </project>
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonFailTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonFailTest.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonFailTest.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonFailTest.java
index 4b9f3b2..32fa4d9 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonFailTest.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonFailTest.java
@@ -18,7 +18,6 @@ package org.apache.dubbo.common.serialize.base;
 
 import org.apache.dubbo.common.serialize.ObjectOutput;
 import org.apache.dubbo.common.serialize.model.Person;
-
 import org.junit.jupiter.api.Test;
 
 import java.io.NotSerializableException;
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonOkTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonOkTest.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonOkTest.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonOkTest.java
index a4b6594..c449a2c 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonOkTest.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/base/AbstractSerializationPersonOkTest.java
@@ -17,7 +17,6 @@
 package org.apache.dubbo.common.serialize.base;
 
 import org.apache.dubbo.common.serialize.model.person.Phone;
-
 import org.junit.jupiter.api.Test;
 
 import java.util.ArrayList;
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/base/AbstractSerializationTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/base/AbstractSerializationTest.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/base/AbstractSerializationTest.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/base/AbstractSerializationTest.java
index 02afaea..c0b790d 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/base/AbstractSerializationTest.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/base/AbstractSerializationTest.java
@@ -32,8 +32,6 @@ import 
org.apache.dubbo.common.serialize.model.person.FullAddress;
 import org.apache.dubbo.common.serialize.model.person.PersonInfo;
 import org.apache.dubbo.common.serialize.model.person.PersonStatus;
 import org.apache.dubbo.common.serialize.model.person.Phone;
-
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
 
 import java.io.ByteArrayInputStream;
@@ -42,6 +40,7 @@ import java.io.IOException;
 import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.sql.Time;
+
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/AnimalEnum.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/AnimalEnum.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/AnimalEnum.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/AnimalEnum.java
index 482337d..9b69914 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/AnimalEnum.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/AnimalEnum.java
@@ -18,4 +18,4 @@ package org.apache.dubbo.common.serialize.model;
 
 public enum AnimalEnum {
     dog, cat, rat, cow, bull, horse
-}
\ No newline at end of file
+}
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/BizException.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/BizException.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/BizException.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/BizException.java
index 96657e7..d00f01d 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/BizException.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/BizException.java
@@ -26,4 +26,4 @@ public class BizException extends RuntimeException {
 
     public BizException() {
     }
-}
\ No newline at end of file
+}
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/BizExceptionNoDefaultConstructor.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/BizExceptionNoDefaultConstructor.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/BizExceptionNoDefaultConstructor.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/BizExceptionNoDefaultConstructor.java
index ab41fd5..6b32c8a 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/BizExceptionNoDefaultConstructor.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/BizExceptionNoDefaultConstructor.java
@@ -23,4 +23,4 @@ public class BizExceptionNoDefaultConstructor extends 
RuntimeException {
     public BizExceptionNoDefaultConstructor(String message) {
         super(message);
     }
-}
\ No newline at end of file
+}
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/Organization.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/Organization.java
similarity index 100%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/Organization.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/Organization.java
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/Person.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/Person.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/Person.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/Person.java
index 5498622..8777c91 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/Person.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/Person.java
@@ -92,4 +92,4 @@ public class Person {
             return false;
         return true;
     }
-}
\ No newline at end of file
+}
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/SerializablePerson.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/SerializablePerson.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/SerializablePerson.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/SerializablePerson.java
index b5ecad9..fafd9b2 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/SerializablePerson.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/SerializablePerson.java
@@ -94,4 +94,4 @@ public class SerializablePerson implements Serializable {
             return false;
         return true;
     }
-}
\ No newline at end of file
+}
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/media/Image.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/media/Image.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/media/Image.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/media/Image.java
index da235d2..cee5642 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/media/Image.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/media/Image.java
@@ -117,4 +117,4 @@ public class Image implements java.io.Serializable {
     public enum Size {
         SMALL, LARGE
     }
-}
\ No newline at end of file
+}
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/media/Media.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/media/Media.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/media/Media.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/media/Media.java
index 555f847..7a661a3 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/media/Media.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/media/Media.java
@@ -202,4 +202,4 @@ public class Media implements java.io.Serializable {
     public enum Player {
         JAVA, FLASH
     }
-}
\ No newline at end of file
+}
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/media/MediaContent.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/media/MediaContent.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/media/MediaContent.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/media/MediaContent.java
index 3b65e99..efe409f 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/media/MediaContent.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/media/MediaContent.java
@@ -75,4 +75,4 @@ public class MediaContent implements java.io.Serializable {
     public void setImages(List<Image> images) {
         this.images = images;
     }
-}
\ No newline at end of file
+}
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/BigPerson.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/BigPerson.java
similarity index 100%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/BigPerson.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/BigPerson.java
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/FullAddress.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/FullAddress.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/FullAddress.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/FullAddress.java
index 4f762cf..debc9e6 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/FullAddress.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/FullAddress.java
@@ -199,4 +199,4 @@ public class FullAddress implements Serializable {
         return sb.toString();
     }
 
-}
\ No newline at end of file
+}
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/PersonInfo.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/PersonInfo.java
similarity index 100%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/PersonInfo.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/PersonInfo.java
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/PersonStatus.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/PersonStatus.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/PersonStatus.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/PersonStatus.java
index f5ae72c..d2334c0 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/PersonStatus.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/PersonStatus.java
@@ -19,4 +19,4 @@ package org.apache.dubbo.common.serialize.model.person;
 public enum PersonStatus {
     ENABLED,
     DISABLED
-}
\ No newline at end of file
+}
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/Phone.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/Phone.java
similarity index 99%
rename from 
dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/Phone.java
rename to 
dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/Phone.java
index 1822eae..0143baf 100644
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/model/person/Phone.java
+++ 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/main/java/org/apache/dubbo/common/serialize/model/person/Phone.java
@@ -136,4 +136,4 @@ public class Phone implements Serializable {
         return sb.toString();
     }
 
-}
\ No newline at end of file
+}
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonObjectInputTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonObjectInputTest.java
deleted file mode 100644
index bb6912d..0000000
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonObjectInputTest.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.dubbo.common.serialize.jackson;
-
-import org.apache.dubbo.common.serialize.model.Organization;
-import org.apache.dubbo.common.serialize.model.Person;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-
-import java.io.ByteArrayInputStream;
-import java.io.EOFException;
-import java.io.IOException;
-import java.io.StringReader;
-import java.lang.reflect.Method;
-import java.lang.reflect.Type;
-import java.util.List;
-import java.util.Map;
-
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.core.Is.is;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-/**
- * {@link JacksonObjectInput} Unit Test
- */
-public class JacksonObjectInputTest {
-
-    private JacksonObjectInput jacksonObjectInput;
-
-    @Test
-    public void testReadBool() throws IOException {
-        jacksonObjectInput = new JacksonObjectInput(new 
ByteArrayInputStream("true".getBytes()));
-        boolean result = jacksonObjectInput.readBool();
-
-        assertThat(result, is(true));
-
-        jacksonObjectInput = new JacksonObjectInput(new StringReader("false"));
-        result = jacksonObjectInput.readBool();
-
-        assertThat(result, is(false));
-    }
-
-    @Test
-    public void testReadByte() throws IOException {
-        jacksonObjectInput = new JacksonObjectInput(new 
ByteArrayInputStream("123".getBytes()));
-        Byte result = jacksonObjectInput.readByte();
-
-        assertThat(result, is(Byte.parseByte("123")));
-    }
-
-    @Test
-    public void testReadBytes() throws IOException {
-        jacksonObjectInput = new JacksonObjectInput(new 
ByteArrayInputStream("123456".getBytes()));
-        byte[] result = jacksonObjectInput.readBytes();
-
-        assertThat(result, is("123456".getBytes()));
-    }
-
-    @Test
-    public void testReadShort() throws IOException {
-        jacksonObjectInput = new JacksonObjectInput(new StringReader("1"));
-        short result = jacksonObjectInput.readShort();
-
-        assertThat(result, is((short) 1));
-    }
-
-    @Test
-    public void testReadInt() throws IOException {
-        jacksonObjectInput = new JacksonObjectInput(new StringReader("1"));
-        Integer result = jacksonObjectInput.readInt();
-
-        assertThat(result, is(1));
-    }
-
-    @Test
-    public void testReadDouble() throws IOException {
-        jacksonObjectInput = new JacksonObjectInput(new StringReader("1.88"));
-        Double result = jacksonObjectInput.readDouble();
-
-        assertThat(result, is(1.88d));
-    }
-
-    @Test
-    public void testReadLong() throws IOException {
-        jacksonObjectInput = new JacksonObjectInput(new StringReader("10"));
-        Long result = jacksonObjectInput.readLong();
-
-        assertThat(result, is(10L));
-    }
-
-    @Test
-    public void testReadFloat() throws IOException {
-        jacksonObjectInput = new JacksonObjectInput(new StringReader("1.66"));
-        Float result = jacksonObjectInput.readFloat();
-
-        assertThat(result, is(1.66F));
-    }
-
-    @Test
-    public void testReadUTF() throws IOException {
-        jacksonObjectInput = new JacksonObjectInput(new 
StringReader("\"wording\""));
-        String result = jacksonObjectInput.readUTF();
-
-        assertThat(result, is("wording"));
-    }
-
-    @Test
-    public void testReadObject() throws IOException, ClassNotFoundException {
-        jacksonObjectInput = new JacksonObjectInput(new StringReader("{ 
\"name\":\"John\", \"age\":30 }"));
-        Person result = jacksonObjectInput.readObject(Person.class);
-
-        assertThat(result, not(nullValue()));
-        assertThat(result.getName(), is("John"));
-        assertThat(result.getAge(), is(30));
-    }
-
-    @Test
-    public void testEmptyLine() throws IOException, ClassNotFoundException {
-        Assertions.assertThrows(EOFException.class, () -> {
-            jacksonObjectInput = new JacksonObjectInput(new StringReader(""));
-
-            jacksonObjectInput.readObject();
-        });
-    }
-
-    @Test
-    public void testEmptySpace() throws IOException, ClassNotFoundException {
-        Assertions.assertThrows(EOFException.class, () -> {
-            jacksonObjectInput = new JacksonObjectInput(new StringReader("  
"));
-
-            jacksonObjectInput.readObject();
-        });
-    }
-
-    @Test
-    public void testReadObjectWithoutClass() throws IOException, 
ClassNotFoundException, NoSuchFieldException {
-        jacksonObjectInput = new JacksonObjectInput(new StringReader("{ 
\"name\":\"John\", \"age\":30 }"));
-
-        Map map = jacksonObjectInput.readObject(Map.class);
-
-        assertThat(map, not(nullValue()));
-        assertThat(map.get("name"), is("John"));
-        assertThat(map.get("age"), is(30));
-    }
-
-
-    @Test
-    public void testReadObjectWithTowType() throws Exception {
-        jacksonObjectInput = new JacksonObjectInput(new 
StringReader("[{\"name\":\"John\",\"age\":30},{\"name\":\"Born\",\"age\":24}]"));
-
-        Method methodReturnType = getClass().getMethod("towLayer");
-        Type type = methodReturnType.getGenericReturnType();
-        List<Person> o = jacksonObjectInput.readObject(List.class, type);
-
-        assertTrue(o instanceof List);
-        assertTrue(o.get(0) instanceof Person);
-
-        assertThat(o.size(), is(2));
-        assertThat(o.get(1).getName(), is("Born"));
-    }
-
-    @Test
-    public void testReadObjectWithThreeType() throws Exception {
-        jacksonObjectInput = new JacksonObjectInput(new 
StringReader("{\"data\":[{\"name\":\"John\",\"age\":30},{\"name\":\"Born\",\"age\":24}]}"));
-
-        Method methodReturnType = getClass().getMethod("threeLayer");
-        Type type = methodReturnType.getGenericReturnType();
-        Organization<List<Person>> o = 
jacksonObjectInput.readObject(Organization.class, type);
-
-        assertTrue(o instanceof Organization);
-        assertTrue(o.getData() instanceof List);
-        assertTrue(o.getData().get(0) instanceof Person);
-
-        assertThat(o.getData().size(), is(2));
-        assertThat(o.getData().get(1).getName(), is("Born"));
-    }
-
-    public List<Person> towLayer() {
-        return null;
-    }
-
-    public Organization<List<Person>> threeLayer() {
-        return null;
-    }
-
-}
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonObjectOutputTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonObjectOutputTest.java
deleted file mode 100644
index 52f5f01..0000000
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonObjectOutputTest.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.dubbo.common.serialize.jackson;
-
-import org.apache.dubbo.common.serialize.model.media.Image;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-/**
- * {@link JacksonObjectOutput} Unit Test
- */
-public class JacksonObjectOutputTest {
-
-    private JacksonObjectOutput jacksonObjectOutput;
-    private JacksonObjectInput jacksonObjectInput;
-    private ByteArrayOutputStream byteArrayOutputStream;
-    private ByteArrayInputStream byteArrayInputStream;
-
-    @BeforeEach
-    public void setUp() throws Exception {
-        this.byteArrayOutputStream = new ByteArrayOutputStream();
-        this.jacksonObjectOutput = new 
JacksonObjectOutput(byteArrayOutputStream);
-    }
-
-    @Test
-    public void testWriteBool() throws IOException {
-        this.jacksonObjectOutput.writeBool(true);
-        this.flushToInput();
-
-        assertThat(jacksonObjectInput.readBool(), is(true));
-    }
-
-    @Test
-    public void testWriteShort() throws IOException {
-        this.jacksonObjectOutput.writeShort((short) 2);
-        this.flushToInput();
-
-        assertThat(jacksonObjectInput.readShort(), is((short) 2));
-    }
-
-    @Test
-    public void testWriteInt() throws IOException {
-        this.jacksonObjectOutput.writeInt(1);
-        this.flushToInput();
-
-        assertThat(jacksonObjectInput.readInt(), is(1));
-    }
-
-    @Test
-    public void testWriteLong() throws IOException {
-        this.jacksonObjectOutput.writeLong(1000L);
-        this.flushToInput();
-
-        assertThat(jacksonObjectInput.readLong(), is(1000L));
-    }
-
-    @Test
-    public void testWriteUTF() throws IOException {
-        this.jacksonObjectOutput.writeUTF("Pace Hasîtî 和平 Мир");
-        this.flushToInput();
-
-        assertThat(jacksonObjectInput.readUTF(), is("Pace Hasîtî 和平 Мир"));
-    }
-
-
-    @Test
-    public void testWriteFloat() throws IOException {
-        this.jacksonObjectOutput.writeFloat(1.88f);
-        this.flushToInput();
-
-        assertThat(this.jacksonObjectInput.readFloat(), is(1.88f));
-    }
-
-    @Test
-    public void testWriteDouble() throws IOException {
-        this.jacksonObjectOutput.writeDouble(1.66d);
-        this.flushToInput();
-
-        assertThat(this.jacksonObjectInput.readDouble(), is(1.66d));
-    }
-
-    @Test
-    public void testWriteBytes() throws IOException {
-        this.jacksonObjectOutput.writeBytes("hello".getBytes());
-        this.flushToInput();
-
-        assertThat(this.jacksonObjectInput.readBytes(), 
is("hello".getBytes()));
-    }
-
-    @Test
-    public void testWriteBytesWithSubLength() throws IOException {
-        this.jacksonObjectOutput.writeBytes("hello".getBytes(), 2, 2);
-        this.flushToInput();
-
-        assertThat(this.jacksonObjectInput.readBytes(), is("ll".getBytes()));
-    }
-
-    @Test
-    public void testWriteByte() throws IOException {
-        this.jacksonObjectOutput.writeByte((byte) 123);
-        this.flushToInput();
-
-        assertThat(this.jacksonObjectInput.readByte(), is((byte) 123));
-    }
-
-    @Test
-    public void testWriteObject() throws IOException, ClassNotFoundException {
-        Image image = new Image("http://dubbo.apache.org/img/dubbo_white.png";, 
"logo", 300, 480, Image.Size.SMALL);
-        this.jacksonObjectOutput.writeObject(image);
-        this.flushToInput();
-
-        Image readObjectForImage = jacksonObjectInput.readObject(Image.class);
-        assertThat(readObjectForImage, not(nullValue()));
-        assertThat(readObjectForImage, is(image));
-    }
-
-    private void flushToInput() throws IOException {
-        this.jacksonObjectOutput.flushBuffer();
-        this.byteArrayInputStream = new 
ByteArrayInputStream(byteArrayOutputStream.toByteArray());
-        this.jacksonObjectInput = new JacksonObjectInput(byteArrayInputStream);
-    }
-}
diff --git 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonSerializationTest.java
 
b/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonSerializationTest.java
deleted file mode 100644
index 4d13d19..0000000
--- 
a/dubbo-serialization-extensions/dubbo-serialization-test/src/test/java/org/apache/dubbo/common/serialize/jackson/JacksonSerializationTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.dubbo.common.serialize.jackson;
-
-import org.apache.dubbo.common.serialize.ObjectInput;
-import org.apache.dubbo.common.serialize.ObjectOutput;
-import org.hamcrest.MatcherAssert;
-import org.hamcrest.Matchers;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.is;
-import static org.mockito.Mockito.mock;
-
-/**
- * {@link JacksonSerialization} Unit Test
- */
-public class JacksonSerializationTest {
-
-    private JacksonSerialization jacksonSerialization;
-
-    @BeforeEach
-    public void setUp() {
-        this.jacksonSerialization = new JacksonSerialization();
-    }
-
-    @Test
-    public void testContentTypeId() {
-        MatcherAssert.assertThat(jacksonSerialization.getContentTypeId(), 
is((byte) 18));
-    }
-
-    @Test
-    public void testContentType() {
-        MatcherAssert.assertThat(jacksonSerialization.getContentType(), 
is("application/json"));
-    }
-
-    @Test
-    public void testObjectOutput() throws IOException {
-        ObjectOutput objectOutput = jacksonSerialization.serialize(null, 
mock(OutputStream.class));
-        assertThat(objectOutput, 
Matchers.instanceOf(JacksonObjectOutput.class));
-    }
-
-    @Test
-    public void testObjectInput() throws IOException {
-        ObjectInput objectInput = jacksonSerialization.deserialize(null, 
mock(InputStream.class));
-        assertThat(objectInput, Matchers.instanceOf(JacksonObjectInput.class));
-    }
-
-}

Reply via email to