You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2020/02/07 06:03:58 UTC

[servicecomb-java-chassis] branch master updated: [SCB-1747] fix long file name problems

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

liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-java-chassis.git


The following commit(s) were added to refs/heads/master by this push:
     new 4b2ac34  [SCB-1747] fix long file name problems
4b2ac34 is described below

commit 4b2ac34d24e17745e6ce4f5a36e7bd89b0a96c94
Author: liubao <bi...@qq.com>
AuthorDate: Fri Feb 7 10:48:20 2020 +0800

    [SCB-1747] fix long file name problems
---
 .../default/pom.xml                                |  0
 .../pom.xml                                        |  0
 .../pom.xml                                        |  0
 .../src/assembly/bin.xml                           |  0
 .../src/assembly/src.xml                           |  0
 .../src/license/THIRD-PARTY.properties             |  0
 .../src/release/LICENSE                            |  0
 .../src/release/NOTICE                             |  0
 .../src/release/licenses/LICENSE-abego             |  0
 .../src/release/licenses/LICENSE-animalsniffer     |  0
 .../src/release/licenses/LICENSE-antlr             |  0
 .../src/release/licenses/LICENSE-asm               |  0
 .../src/release/licenses/LICENSE-bouncycastle      |  0
 .../src/release/licenses/LICENSE-cc0               |  0
 .../src/release/licenses/LICENSE-cddl              |  0
 .../src/release/licenses/LICENSE-checkerqual       |  0
 .../src/release/licenses/LICENSE-epl-v10           |  0
 .../src/release/licenses/LICENSE-epl-v20           |  0
 .../src/release/licenses/LICENSE-hamcrest          |  0
 .../src/release/licenses/LICENSE-hdrhistogram      |  0
 .../src/release/licenses/LICENSE-icu4j             |  0
 .../src/release/licenses/LICENSE-jcodings          |  0
 .../src/release/licenses/LICENSE-joni              |  0
 .../src/release/licenses/LICENSE-jopt              |  0
 .../src/release/licenses/LICENSE-jsonp             |  0
 .../src/release/licenses/LICENSE-jsoup             |  0
 .../src/release/licenses/LICENSE-jsr311-api        |  0
 .../src/release/licenses/LICENSE-logback           |  0
 .../src/release/licenses/LICENSE-mozilla-v20       |  0
 .../src/release/licenses/LICENSE-protobuf          |  0
 .../src/release/licenses/LICENSE-slf4j             |  0
 .../release/licenses/LICENSE-woodstox-stax2-api    |  0
 .../release/licenses/NOTICE-apache-commons-codec   |  0
 .../src/release/licenses/NOTICE-netty              |  0
 .../src/release/licenses/NOTICE-prometheus         |  0
 .../src/release/licenses/NOTICE-protostuff         |  0
 .../src/release/licenses/NOTICE-tomcat             |  0
 .../common/utils/TestFileNameTooLong.java          | 72 ++++++++++++++++++++++
 .../impl/bools/BoolRepeatedReadSchemas.java        |  6 +-
 .../impl/doubles/DoubleRepeatedReadSchemas.java    |  6 +-
 .../doubles/impl/DoubleNotPackedReadSchemas.java   |  6 +-
 .../ints/impl/Fixed32NotPackedReadSchemas.java     |  6 +-
 .../ints/impl/SFixed32NotPackedReadSchemas.java    |  6 +-
 .../longs/impl/Fixed64NotPackedReadSchemas.java    |  6 +-
 .../impl/longs/impl/Fixed64PackedReadSchemas.java  |  6 +-
 .../impl/longs/impl/Int64NotPackedReadSchemas.java |  6 +-
 .../impl/longs/impl/Int64PackedReadSchemas.java    |  6 +-
 .../longs/impl/SFixed64NotPackedReadSchemas.java   |  6 +-
 .../impl/longs/impl/SFixed64PackedReadSchemas.java |  6 +-
 .../longs/impl/SInt64NotPackedReadSchemas.java     |  6 +-
 .../impl/longs/impl/SInt64PackedReadSchemas.java   |  6 +-
 .../longs/impl/UInt64NotPackedReadSchemas.java     |  6 +-
 .../impl/longs/impl/UInt64PackedReadSchemas.java   |  6 +-
 .../{springmvc-tests-common => common}/pom.xml     |  0
 .../tests/SpringMvcIntegrationTestBase.java        |  0
 .../tests/endpoints/CodeFirstSpringmvc.java        |  0
 .../tests/endpoints/CodeFirstSpringmvcBase.java    |  0
 ...eFirstSpringmvcSimplifiedMappingAnnotation.java |  0
 .../springmvc/tests/endpoints/ControllerBase.java  |  0
 .../springmvc/tests/endpoints/ControllerImpl.java  |  0
 .../ControllerSimplifiedMappingAnnotationImpl.java |  0
 .../endpoints/EnglishGreetingRestEndpoint.java     |  0
 .../endpoints/EnglishGreetingRestEndpointBase.java |  0
 ...ingSimplifiedMappingAnnotationRestEndpoint.java |  0
 .../endpoints/FrenchGreetingRestEndpoint.java      |  0
 .../endpoints/FrenchGreetingRestEndpointBase.java  |  0
 ...ingSimplifiedMappingAnnotationRestEndpoint.java |  0
 .../pom.xml                                        |  0
 .../tests/RawSpringMvcIntegrationTest.java         |  0
 .../demo/springmvc/tests/SpringMvcTestMain.java    |  0
 .../src/test/resources/config/log4j.z.properties   |  0
 .../src/test/resources/microservice.yaml           |  0
 .../pom.xml                                        |  0
 .../tests/SpringMvcSpringIntegrationTest.java      |  0
 .../demo/springmvc/tests/SpringMvcSpringMain.java  |  0
 .../src/test/resources/log4j.properties            |  0
 .../src/test/resources/logback.xml                 |  0
 .../src/test/resources/microservice.yaml           |  0
 .../{springmvc-tests-general => general}/pom.xml   |  0
 .../tests/RawSpringMvcIntegrationTest.java         |  0
 .../demo/springmvc/tests/SpringMvcTestMain.java    |  0
 .../src/test/resources/config/log4j.z.properties   |  0
 .../src/test/resources/microservice.yaml           |  0
 integration-tests/springmvc-tests/pom.xml          | 14 ++---
 .../pom.xml                                        |  0
 ...implifiedMappingAnnotationIntegrationTest.java} |  2 +-
 .../demo/springmvc/tests/SpringMvcSpringMain.java  |  0
 .../src/test/resources/log4j.properties            |  0
 .../src/test/resources/logback.xml                 |  0
 .../src/test/resources/microservice.yaml           |  0
 .../pom.xml                                        |  0
 ...SimplifiedMappingAnnotationIntegrationTest.java |  0
 .../demo/springmvc/tests/SpringMvcTestMain.java    |  0
 .../src/test/resources/config/log4j.z.properties   |  0
 .../src/test/resources/microservice.yaml           |  0
 pom.xml                                            |  6 +-
 {java-chassis-spring-boot => spring-boot}/pom.xml  |  4 +-
 .../spring-boot-common}/pom.xml                    |  0
 .../springboot/common/AbstractDiscoveryClient.java |  0
 .../springboot/common/InstanceDiscoveryFilter.java |  0
 .../pom.xml                                        |  0
 .../starter/discovery/ScbDiscoveryClient.java      |  0
 .../discovery/ScbDiscoveryClientConfiguration.java |  0
 .../discovery/ScbRibbonClientConfiguration.java    |  0
 .../starter/discovery/ScbRibbonConfiguration.java  |  0
 .../ScbRibbonEndpointDiscoveryFilter.java          |  0
 .../starter/discovery/ServiceCombServerList.java   |  0
 .../starter/discovery/package-info.java            |  0
 .../src/main/resources/META-INF/spring.factories   |  0
 .../pom.xml                                        |  0
 .../pom.xml                                        |  0
 .../starter/servlet/RestServletInitializer.java    |  0
 .../springboot2/starter/servlet/package-info.java  |  0
 .../pom.xml                                        |  0
 .../java-chassis-spring-boot-starter/pom.xml       |  0
 .../springboot2/starter/EnableServiceComb.java     |  0
 .../starter/ServiceCombSpringConfiguration.java    |  0
 .../spring-boot-starters}/pom.xml                  |  0
 118 files changed, 130 insertions(+), 58 deletions(-)

diff --git a/java-chassis-dependencies/default/pom.xml b/dependencies/default/pom.xml
similarity index 100%
rename from java-chassis-dependencies/default/pom.xml
rename to dependencies/default/pom.xml
diff --git a/java-chassis-dependencies/pom.xml b/dependencies/pom.xml
similarity index 100%
rename from java-chassis-dependencies/pom.xml
rename to dependencies/pom.xml
diff --git a/java-chassis-distribution/pom.xml b/distribution/pom.xml
similarity index 100%
rename from java-chassis-distribution/pom.xml
rename to distribution/pom.xml
diff --git a/java-chassis-distribution/src/assembly/bin.xml b/distribution/src/assembly/bin.xml
similarity index 100%
rename from java-chassis-distribution/src/assembly/bin.xml
rename to distribution/src/assembly/bin.xml
diff --git a/java-chassis-distribution/src/assembly/src.xml b/distribution/src/assembly/src.xml
similarity index 100%
rename from java-chassis-distribution/src/assembly/src.xml
rename to distribution/src/assembly/src.xml
diff --git a/java-chassis-distribution/src/license/THIRD-PARTY.properties b/distribution/src/license/THIRD-PARTY.properties
similarity index 100%
rename from java-chassis-distribution/src/license/THIRD-PARTY.properties
rename to distribution/src/license/THIRD-PARTY.properties
diff --git a/java-chassis-distribution/src/release/LICENSE b/distribution/src/release/LICENSE
old mode 100755
new mode 100644
similarity index 100%
rename from java-chassis-distribution/src/release/LICENSE
rename to distribution/src/release/LICENSE
diff --git a/java-chassis-distribution/src/release/NOTICE b/distribution/src/release/NOTICE
similarity index 100%
rename from java-chassis-distribution/src/release/NOTICE
rename to distribution/src/release/NOTICE
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-abego b/distribution/src/release/licenses/LICENSE-abego
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-abego
rename to distribution/src/release/licenses/LICENSE-abego
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-animalsniffer b/distribution/src/release/licenses/LICENSE-animalsniffer
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-animalsniffer
rename to distribution/src/release/licenses/LICENSE-animalsniffer
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-antlr b/distribution/src/release/licenses/LICENSE-antlr
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-antlr
rename to distribution/src/release/licenses/LICENSE-antlr
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-asm b/distribution/src/release/licenses/LICENSE-asm
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-asm
rename to distribution/src/release/licenses/LICENSE-asm
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-bouncycastle b/distribution/src/release/licenses/LICENSE-bouncycastle
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-bouncycastle
rename to distribution/src/release/licenses/LICENSE-bouncycastle
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-cc0 b/distribution/src/release/licenses/LICENSE-cc0
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-cc0
rename to distribution/src/release/licenses/LICENSE-cc0
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-cddl b/distribution/src/release/licenses/LICENSE-cddl
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-cddl
rename to distribution/src/release/licenses/LICENSE-cddl
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-checkerqual b/distribution/src/release/licenses/LICENSE-checkerqual
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-checkerqual
rename to distribution/src/release/licenses/LICENSE-checkerqual
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-epl-v10 b/distribution/src/release/licenses/LICENSE-epl-v10
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-epl-v10
rename to distribution/src/release/licenses/LICENSE-epl-v10
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-epl-v20 b/distribution/src/release/licenses/LICENSE-epl-v20
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-epl-v20
rename to distribution/src/release/licenses/LICENSE-epl-v20
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-hamcrest b/distribution/src/release/licenses/LICENSE-hamcrest
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-hamcrest
rename to distribution/src/release/licenses/LICENSE-hamcrest
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-hdrhistogram b/distribution/src/release/licenses/LICENSE-hdrhistogram
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-hdrhistogram
rename to distribution/src/release/licenses/LICENSE-hdrhistogram
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-icu4j b/distribution/src/release/licenses/LICENSE-icu4j
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-icu4j
rename to distribution/src/release/licenses/LICENSE-icu4j
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-jcodings b/distribution/src/release/licenses/LICENSE-jcodings
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-jcodings
rename to distribution/src/release/licenses/LICENSE-jcodings
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-joni b/distribution/src/release/licenses/LICENSE-joni
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-joni
rename to distribution/src/release/licenses/LICENSE-joni
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-jopt b/distribution/src/release/licenses/LICENSE-jopt
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-jopt
rename to distribution/src/release/licenses/LICENSE-jopt
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-jsonp b/distribution/src/release/licenses/LICENSE-jsonp
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-jsonp
rename to distribution/src/release/licenses/LICENSE-jsonp
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-jsoup b/distribution/src/release/licenses/LICENSE-jsoup
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-jsoup
rename to distribution/src/release/licenses/LICENSE-jsoup
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-jsr311-api b/distribution/src/release/licenses/LICENSE-jsr311-api
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-jsr311-api
rename to distribution/src/release/licenses/LICENSE-jsr311-api
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-logback b/distribution/src/release/licenses/LICENSE-logback
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-logback
rename to distribution/src/release/licenses/LICENSE-logback
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-mozilla-v20 b/distribution/src/release/licenses/LICENSE-mozilla-v20
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-mozilla-v20
rename to distribution/src/release/licenses/LICENSE-mozilla-v20
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-protobuf b/distribution/src/release/licenses/LICENSE-protobuf
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-protobuf
rename to distribution/src/release/licenses/LICENSE-protobuf
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-slf4j b/distribution/src/release/licenses/LICENSE-slf4j
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-slf4j
rename to distribution/src/release/licenses/LICENSE-slf4j
diff --git a/java-chassis-distribution/src/release/licenses/LICENSE-woodstox-stax2-api b/distribution/src/release/licenses/LICENSE-woodstox-stax2-api
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/LICENSE-woodstox-stax2-api
rename to distribution/src/release/licenses/LICENSE-woodstox-stax2-api
diff --git a/java-chassis-distribution/src/release/licenses/NOTICE-apache-commons-codec b/distribution/src/release/licenses/NOTICE-apache-commons-codec
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/NOTICE-apache-commons-codec
rename to distribution/src/release/licenses/NOTICE-apache-commons-codec
diff --git a/java-chassis-distribution/src/release/licenses/NOTICE-netty b/distribution/src/release/licenses/NOTICE-netty
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/NOTICE-netty
rename to distribution/src/release/licenses/NOTICE-netty
diff --git a/java-chassis-distribution/src/release/licenses/NOTICE-prometheus b/distribution/src/release/licenses/NOTICE-prometheus
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/NOTICE-prometheus
rename to distribution/src/release/licenses/NOTICE-prometheus
diff --git a/java-chassis-distribution/src/release/licenses/NOTICE-protostuff b/distribution/src/release/licenses/NOTICE-protostuff
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/NOTICE-protostuff
rename to distribution/src/release/licenses/NOTICE-protostuff
diff --git a/java-chassis-distribution/src/release/licenses/NOTICE-tomcat b/distribution/src/release/licenses/NOTICE-tomcat
similarity index 100%
rename from java-chassis-distribution/src/release/licenses/NOTICE-tomcat
rename to distribution/src/release/licenses/NOTICE-tomcat
diff --git a/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestFileNameTooLong.java b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestFileNameTooLong.java
new file mode 100644
index 0000000..b4b4c4e
--- /dev/null
+++ b/foundations/foundation-common/src/test/java/org/apache/servicecomb/foundation/common/utils/TestFileNameTooLong.java
@@ -0,0 +1,72 @@
+/*
+ * 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.servicecomb.foundation.common.utils;
+
+import java.io.File;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.junit.Assert;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class TestFileNameTooLong {
+  private static final Logger LOGGER = LoggerFactory.getLogger(TestFileNameTooLong.class);
+
+  // ensure the maximum file path do not exceed. now set to 200(some old windows max 260)
+  // smaller is better, can refactor in future
+  // NOTICE: compiled classes or other generated files like surefire reports do not exceed this too
+  private static final int MAN_FILE_SIZE = 200;
+
+  @Test
+  public void assertFileNotTooLong() {
+    File folder = new File(System.getProperty("user.dir"));
+    LOGGER.error(folder.getAbsolutePath()); // $ROOT\foundations\foundation-common
+    File root = new File(folder.getParentFile().getParent());
+    LOGGER.error(root.getAbsolutePath()); // $ROOT\foundations\foundation-common
+    Assert.assertTrue(root.exists());
+    Assert.assertTrue(root.isDirectory());
+
+    List<String> names = new LinkedList<>();
+    findLongFileName(root, names, root.getAbsolutePath().length());
+    Collections.sort(names);
+    names.forEach(e -> LOGGER.error(e));
+    if (!names.isEmpty()) {
+      // for debug
+      Assert.assertEquals("", names.toString());
+    }
+    Assert.assertTrue(names.isEmpty());
+  }
+
+  private static void findLongFileName(File folder, List<String> holder, int baseLenght) {
+    if (folder.isFile()) {
+      if (folder.getAbsolutePath().length() >= MAN_FILE_SIZE + baseLenght) {
+        holder.add(folder.getAbsolutePath());
+      }
+    } else if (folder.isDirectory()) {
+      File[] children = folder.listFiles();
+      for (File child : children) {
+        findLongFileName(child, holder, baseLenght);
+      }
+    } else {
+      LOGGER.error("unexpected file :" + folder.getName());
+    }
+  }
+}
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/bools/BoolRepeatedReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/bools/BoolRepeatedReadSchemas.java
index c22252e..cca38bb 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/bools/BoolRepeatedReadSchemas.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/bools/BoolRepeatedReadSchemas.java
@@ -37,20 +37,20 @@ public class BoolRepeatedReadSchemas {
       AbstractPrimitiveReaders<boolean[], Boolean> readers) {
     JavaType javaType = propertyDescriptor.getJavaType();
     if (boolean[].class.equals(javaType.getRawClass())) {
-      return new BoolPrimitiveArrayRepeatedSchema<>(protoField, propertyDescriptor, readers);
+      return new BoolPrimitiveArray<>(protoField, propertyDescriptor, readers);
     }
 
     return RepeatedReadSchemas.create(protoField, propertyDescriptor, readers);
   }
 
-  static class BoolPrimitiveArrayRepeatedSchema<T> extends FieldSchema<T> {
+  static class BoolPrimitiveArray<T> extends FieldSchema<T> {
     private final Getter<T, boolean[]> getter;
 
     private final Setter<T, boolean[]> setter;
 
     private final AbstractPrimitiveReaders<boolean[], Boolean> readers;
 
-    public BoolPrimitiveArrayRepeatedSchema(Field protoField, PropertyDescriptor propertyDescriptor,
+    public BoolPrimitiveArray(Field protoField, PropertyDescriptor propertyDescriptor,
         AbstractPrimitiveReaders<boolean[], Boolean> readers) {
       super(protoField, propertyDescriptor.getJavaType());
       this.getter = propertyDescriptor.getGetter();
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/doubles/DoubleRepeatedReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/doubles/DoubleRepeatedReadSchemas.java
index b74ca75..68d8f99 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/doubles/DoubleRepeatedReadSchemas.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/doubles/DoubleRepeatedReadSchemas.java
@@ -37,20 +37,20 @@ public class DoubleRepeatedReadSchemas {
       AbstractPrimitiveReaders<double[], Double> readers) {
     JavaType javaType = propertyDescriptor.getJavaType();
     if (double[].class.equals(javaType.getRawClass())) {
-      return new DoublePrimitiveArraySchema<>(protoField, propertyDescriptor, readers);
+      return new PrimitiveArraySchema<>(protoField, propertyDescriptor, readers);
     }
 
     return RepeatedReadSchemas.create(protoField, propertyDescriptor, readers);
   }
 
-  static class DoublePrimitiveArraySchema<T> extends FieldSchema<T> {
+  static class PrimitiveArraySchema<T> extends FieldSchema<T> {
     private final Getter<T, double[]> getter;
 
     private final Setter<T, double[]> setter;
 
     private final AbstractPrimitiveReaders<double[], Double> readers;
 
-    public DoublePrimitiveArraySchema(Field protoField, PropertyDescriptor propertyDescriptor,
+    public PrimitiveArraySchema(Field protoField, PropertyDescriptor propertyDescriptor,
         AbstractPrimitiveReaders<double[], Double> readers) {
       super(protoField, propertyDescriptor.getJavaType());
       this.getter = propertyDescriptor.getGetter();
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/doubles/impl/DoubleNotPackedReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/doubles/impl/DoubleNotPackedReadSchemas.java
index 3109e52..67d4c35 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/doubles/impl/DoubleNotPackedReadSchemas.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/doubles/impl/DoubleNotPackedReadSchemas.java
@@ -26,8 +26,8 @@ import io.protostuff.compiler.model.Field;
 import io.protostuff.runtime.FieldSchema;
 
 public class DoubleNotPackedReadSchemas {
-  private static class DoubleNotPackedReaders extends AbstractPrimitiveReaders<double[], Double> {
-    public DoubleNotPackedReaders(Field protoField) {
+  private static class NotPackedReaders extends AbstractPrimitiveReaders<double[], Double> {
+    public NotPackedReaders(Field protoField) {
       super(protoField);
 
       this.primitiveArrayReader = (input, builderWrapper) -> {
@@ -64,6 +64,6 @@ public class DoubleNotPackedReadSchemas {
   }
 
   public static <T> FieldSchema<T> create(Field protoField, PropertyDescriptor propertyDescriptor) {
-    return DoubleRepeatedReadSchemas.create(protoField, propertyDescriptor, new DoubleNotPackedReaders(protoField));
+    return DoubleRepeatedReadSchemas.create(protoField, propertyDescriptor, new NotPackedReaders(protoField));
   }
 }
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/ints/impl/Fixed32NotPackedReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/ints/impl/Fixed32NotPackedReadSchemas.java
index 6169b47..acbdc79 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/ints/impl/Fixed32NotPackedReadSchemas.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/ints/impl/Fixed32NotPackedReadSchemas.java
@@ -26,8 +26,8 @@ import io.protostuff.compiler.model.Field;
 import io.protostuff.runtime.FieldSchema;
 
 public class Fixed32NotPackedReadSchemas {
-  private static class Fixed32NotPackedReaders extends AbstractPrimitiveReaders<int[], Integer> {
-    public Fixed32NotPackedReaders(Field protoField) {
+  private static class NotPackedReaders extends AbstractPrimitiveReaders<int[], Integer> {
+    public NotPackedReaders(Field protoField) {
       super(protoField);
 
       this.primitiveArrayReader = (input, builderWrapper) -> {
@@ -64,6 +64,6 @@ public class Fixed32NotPackedReadSchemas {
   }
 
   public static <T> FieldSchema<T> create(Field protoField, PropertyDescriptor propertyDescriptor) {
-    return IntRepeatedReadSchemas.create(protoField, propertyDescriptor, new Fixed32NotPackedReaders(protoField));
+    return IntRepeatedReadSchemas.create(protoField, propertyDescriptor, new NotPackedReaders(protoField));
   }
 }
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/ints/impl/SFixed32NotPackedReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/ints/impl/SFixed32NotPackedReadSchemas.java
index e92d05f..2ddf02f 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/ints/impl/SFixed32NotPackedReadSchemas.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/ints/impl/SFixed32NotPackedReadSchemas.java
@@ -26,8 +26,8 @@ import io.protostuff.compiler.model.Field;
 import io.protostuff.runtime.FieldSchema;
 
 public class SFixed32NotPackedReadSchemas {
-  private static class SFixed32NotPackedReaders extends AbstractPrimitiveReaders<int[], Integer> {
-    public SFixed32NotPackedReaders(Field protoField) {
+  private static class NotPackedReaders extends AbstractPrimitiveReaders<int[], Integer> {
+    public NotPackedReaders(Field protoField) {
       super(protoField);
 
       this.primitiveArrayReader = (input, builderWrapper) -> {
@@ -64,6 +64,6 @@ public class SFixed32NotPackedReadSchemas {
   }
 
   public static <T> FieldSchema<T> create(Field protoField, PropertyDescriptor propertyDescriptor) {
-    return IntRepeatedReadSchemas.create(protoField, propertyDescriptor, new SFixed32NotPackedReaders(protoField));
+    return IntRepeatedReadSchemas.create(protoField, propertyDescriptor, new NotPackedReaders(protoField));
   }
 }
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/Fixed64NotPackedReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/Fixed64NotPackedReadSchemas.java
index 7ad1b5a..b02112d 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/Fixed64NotPackedReadSchemas.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/Fixed64NotPackedReadSchemas.java
@@ -26,8 +26,8 @@ import io.protostuff.compiler.model.Field;
 import io.protostuff.runtime.FieldSchema;
 
 public class Fixed64NotPackedReadSchemas {
-  private static class Fixed64NotPackedReaders extends AbstractPrimitiveReaders<long[], Long> {
-    public Fixed64NotPackedReaders(Field protoField) {
+  private static class Readers extends AbstractPrimitiveReaders<long[], Long> {
+    public Readers(Field protoField) {
       super(protoField);
 
       this.primitiveArrayReader = (input, builderWrapper) -> {
@@ -64,6 +64,6 @@ public class Fixed64NotPackedReadSchemas {
   }
 
   public static <T> FieldSchema<T> create(Field protoField, PropertyDescriptor propertyDescriptor) {
-    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new Fixed64NotPackedReaders(protoField));
+    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new Readers(protoField));
   }
 }
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/Fixed64PackedReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/Fixed64PackedReadSchemas.java
index 28a4f36..9e768d8 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/Fixed64PackedReadSchemas.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/Fixed64PackedReadSchemas.java
@@ -26,8 +26,8 @@ import io.protostuff.compiler.model.Field;
 import io.protostuff.runtime.FieldSchema;
 
 public class Fixed64PackedReadSchemas {
-  private static class Fixed64PackedReaders extends AbstractPrimitiveReaders<long[], Long> {
-    public Fixed64PackedReaders(Field protoField) {
+  private static class Readers extends AbstractPrimitiveReaders<long[], Long> {
+    public Readers(Field protoField) {
       super(protoField);
 
       this.primitiveArrayReader = (input, builderWrapper) -> {
@@ -64,6 +64,6 @@ public class Fixed64PackedReadSchemas {
   }
 
   public static <T> FieldSchema<T> create(Field protoField, PropertyDescriptor propertyDescriptor) {
-    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new Fixed64PackedReaders(protoField));
+    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new Readers(protoField));
   }
 }
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/Int64NotPackedReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/Int64NotPackedReadSchemas.java
index 83b158a..c4c6a12 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/Int64NotPackedReadSchemas.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/Int64NotPackedReadSchemas.java
@@ -26,8 +26,8 @@ import io.protostuff.compiler.model.Field;
 import io.protostuff.runtime.FieldSchema;
 
 public class Int64NotPackedReadSchemas {
-  private static class Int64NotPackedReaders extends AbstractPrimitiveReaders<long[], Long> {
-    public Int64NotPackedReaders(Field protoField) {
+  private static class Readers extends AbstractPrimitiveReaders<long[], Long> {
+    public Readers(Field protoField) {
       super(protoField);
 
       this.primitiveArrayReader = (input, builderWrapper) -> {
@@ -64,6 +64,6 @@ public class Int64NotPackedReadSchemas {
   }
 
   public static <T> FieldSchema<T> create(Field protoField, PropertyDescriptor propertyDescriptor) {
-    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new Int64NotPackedReaders(protoField));
+    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new Readers(protoField));
   }
 }
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/Int64PackedReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/Int64PackedReadSchemas.java
index 5a4efbc..051b8bc 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/Int64PackedReadSchemas.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/Int64PackedReadSchemas.java
@@ -26,8 +26,8 @@ import io.protostuff.compiler.model.Field;
 import io.protostuff.runtime.FieldSchema;
 
 public class Int64PackedReadSchemas {
-  private static class Int64PackedReaders extends AbstractPrimitiveReaders<long[], Long> {
-    public Int64PackedReaders(Field protoField) {
+  private static class Readers extends AbstractPrimitiveReaders<long[], Long> {
+    public Readers(Field protoField) {
       super(protoField);
 
       this.primitiveArrayReader = (input, builderWrapper) -> {
@@ -64,6 +64,6 @@ public class Int64PackedReadSchemas {
   }
 
   public static <T> FieldSchema<T> create(Field protoField, PropertyDescriptor propertyDescriptor) {
-    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new Int64PackedReaders(protoField));
+    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new Readers(protoField));
   }
 }
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/SFixed64NotPackedReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/SFixed64NotPackedReadSchemas.java
index 93aa095..606dd97 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/SFixed64NotPackedReadSchemas.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/SFixed64NotPackedReadSchemas.java
@@ -26,8 +26,8 @@ import io.protostuff.compiler.model.Field;
 import io.protostuff.runtime.FieldSchema;
 
 public class SFixed64NotPackedReadSchemas {
-  private static class SFixed64NotPackedReaders extends AbstractPrimitiveReaders<long[], Long> {
-    public SFixed64NotPackedReaders(Field protoField) {
+  private static class Readers extends AbstractPrimitiveReaders<long[], Long> {
+    public Readers(Field protoField) {
       super(protoField);
 
       this.primitiveArrayReader = (input, builderWrapper) -> {
@@ -64,6 +64,6 @@ public class SFixed64NotPackedReadSchemas {
   }
 
   public static <T> FieldSchema<T> create(Field protoField, PropertyDescriptor propertyDescriptor) {
-    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new SFixed64NotPackedReaders(protoField));
+    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new Readers(protoField));
   }
 }
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/SFixed64PackedReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/SFixed64PackedReadSchemas.java
index a04a7d5..85c13b7 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/SFixed64PackedReadSchemas.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/SFixed64PackedReadSchemas.java
@@ -26,8 +26,8 @@ import io.protostuff.compiler.model.Field;
 import io.protostuff.runtime.FieldSchema;
 
 public class SFixed64PackedReadSchemas {
-  private static class SFixed64PackedReaders extends AbstractPrimitiveReaders<long[], Long> {
-    public SFixed64PackedReaders(Field protoField) {
+  private static class Readers extends AbstractPrimitiveReaders<long[], Long> {
+    public Readers(Field protoField) {
       super(protoField);
 
       this.primitiveArrayReader = (input, builderWrapper) -> {
@@ -64,6 +64,6 @@ public class SFixed64PackedReadSchemas {
   }
 
   public static <T> FieldSchema<T> create(Field protoField, PropertyDescriptor propertyDescriptor) {
-    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new SFixed64PackedReaders(protoField));
+    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new Readers(protoField));
   }
 }
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/SInt64NotPackedReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/SInt64NotPackedReadSchemas.java
index e3bd0c3..3f23c9b 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/SInt64NotPackedReadSchemas.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/SInt64NotPackedReadSchemas.java
@@ -26,8 +26,8 @@ import io.protostuff.compiler.model.Field;
 import io.protostuff.runtime.FieldSchema;
 
 public class SInt64NotPackedReadSchemas {
-  private static class SInt64NotPackedReaders extends AbstractPrimitiveReaders<long[], Long> {
-    public SInt64NotPackedReaders(Field protoField) {
+  private static class Readers extends AbstractPrimitiveReaders<long[], Long> {
+    public Readers(Field protoField) {
       super(protoField);
 
       this.primitiveArrayReader = (input, builderWrapper) -> {
@@ -64,6 +64,6 @@ public class SInt64NotPackedReadSchemas {
   }
 
   public static <T> FieldSchema<T> create(Field protoField, PropertyDescriptor propertyDescriptor) {
-    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new SInt64NotPackedReaders(protoField));
+    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new Readers(protoField));
   }
 }
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/SInt64PackedReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/SInt64PackedReadSchemas.java
index 5a253c0..a23da75 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/SInt64PackedReadSchemas.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/SInt64PackedReadSchemas.java
@@ -26,8 +26,8 @@ import io.protostuff.compiler.model.Field;
 import io.protostuff.runtime.FieldSchema;
 
 public class SInt64PackedReadSchemas {
-  private static class SInt64PackedReaders extends AbstractPrimitiveReaders<long[], Long> {
-    public SInt64PackedReaders(Field protoField) {
+  private static class Readers extends AbstractPrimitiveReaders<long[], Long> {
+    public Readers(Field protoField) {
       super(protoField);
 
       this.primitiveArrayReader = (input, builderWrapper) -> {
@@ -64,6 +64,6 @@ public class SInt64PackedReadSchemas {
   }
 
   public static <T> FieldSchema<T> create(Field protoField, PropertyDescriptor propertyDescriptor) {
-    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new SInt64PackedReaders(protoField));
+    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new Readers(protoField));
   }
 }
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/UInt64NotPackedReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/UInt64NotPackedReadSchemas.java
index 4421d13..482db0c 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/UInt64NotPackedReadSchemas.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/UInt64NotPackedReadSchemas.java
@@ -26,8 +26,8 @@ import io.protostuff.compiler.model.Field;
 import io.protostuff.runtime.FieldSchema;
 
 public class UInt64NotPackedReadSchemas {
-  private static class UInt64NotPackedReaders extends AbstractPrimitiveReaders<long[], Long> {
-    public UInt64NotPackedReaders(Field protoField) {
+  private static class Readers extends AbstractPrimitiveReaders<long[], Long> {
+    public Readers(Field protoField) {
       super(protoField);
 
       this.primitiveArrayReader = (input, builderWrapper) -> {
@@ -64,6 +64,6 @@ public class UInt64NotPackedReadSchemas {
   }
 
   public static <T> FieldSchema<T> create(Field protoField, PropertyDescriptor propertyDescriptor) {
-    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new UInt64NotPackedReaders(protoField));
+    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new Readers(protoField));
   }
 }
diff --git a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/UInt64PackedReadSchemas.java b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/UInt64PackedReadSchemas.java
index 055c6cf..faceeea 100644
--- a/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/UInt64PackedReadSchemas.java
+++ b/foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/repeated/impl/longs/impl/UInt64PackedReadSchemas.java
@@ -26,8 +26,8 @@ import io.protostuff.compiler.model.Field;
 import io.protostuff.runtime.FieldSchema;
 
 public class UInt64PackedReadSchemas {
-  private static class UInt64PackedReaders extends AbstractPrimitiveReaders<long[], Long> {
-    public UInt64PackedReaders(Field protoField) {
+  private static class Readers extends AbstractPrimitiveReaders<long[], Long> {
+    public Readers(Field protoField) {
       super(protoField);
 
       this.primitiveArrayReader = (input, builderWrapper) -> {
@@ -64,6 +64,6 @@ public class UInt64PackedReadSchemas {
   }
 
   public static <T> FieldSchema<T> create(Field protoField, PropertyDescriptor propertyDescriptor) {
-    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new UInt64PackedReaders(protoField));
+    return LongRepeatedReadSchemas.create(protoField, propertyDescriptor, new Readers(protoField));
   }
 }
diff --git a/integration-tests/springmvc-tests/springmvc-tests-common/pom.xml b/integration-tests/springmvc-tests/common/pom.xml
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-common/pom.xml
rename to integration-tests/springmvc-tests/common/pom.xml
diff --git a/integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcIntegrationTestBase.java b/integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcIntegrationTestBase.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcIntegrationTestBase.java
rename to integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcIntegrationTestBase.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/CodeFirstSpringmvc.java b/integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/CodeFirstSpringmvc.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/CodeFirstSpringmvc.java
rename to integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/CodeFirstSpringmvc.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/CodeFirstSpringmvcBase.java b/integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/CodeFirstSpringmvcBase.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/CodeFirstSpringmvcBase.java
rename to integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/CodeFirstSpringmvcBase.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/CodeFirstSpringmvcSimplifiedMappingAnnotation.java b/integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/CodeFirstSpringmvcSimplifiedMappingAnnotation.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/CodeFirstSpringmvcSimplifiedMappingAnnotation.java
rename to integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/CodeFirstSpringmvcSimplifiedMappingAnnotation.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/ControllerBase.java b/integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/ControllerBase.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/ControllerBase.java
rename to integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/ControllerBase.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/ControllerImpl.java b/integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/ControllerImpl.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/ControllerImpl.java
rename to integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/ControllerImpl.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/ControllerSimplifiedMappingAnnotationImpl.java b/integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/ControllerSimplifiedMappingAnnotationImpl.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/ControllerSimplifiedMappingAnnotationImpl.java
rename to integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/ControllerSimplifiedMappingAnnotationImpl.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/EnglishGreetingRestEndpoint.java b/integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/EnglishGreetingRestEndpoint.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/EnglishGreetingRestEndpoint.java
rename to integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/EnglishGreetingRestEndpoint.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/EnglishGreetingRestEndpointBase.java b/integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/EnglishGreetingRestEndpointBase.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/EnglishGreetingRestEndpointBase.java
rename to integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/EnglishGreetingRestEndpointBase.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/EnglishGreetingSimplifiedMappingAnnotationRestEndpoint.java b/integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/EnglishGreetingSimplifiedMappingAnnotationRestEndpoint.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/EnglishGreetingSimplifiedMappingAnnotationRestEndpoint.java
rename to integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/EnglishGreetingSimplifiedMappingAnnotationRestEndpoint.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/FrenchGreetingRestEndpoint.java b/integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/FrenchGreetingRestEndpoint.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/FrenchGreetingRestEndpoint.java
rename to integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/FrenchGreetingRestEndpoint.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/FrenchGreetingRestEndpointBase.java b/integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/FrenchGreetingRestEndpointBase.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/FrenchGreetingRestEndpointBase.java
rename to integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/FrenchGreetingRestEndpointBase.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/FrenchGreetingSimplifiedMappingAnnotationRestEndpoint.java b/integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/FrenchGreetingSimplifiedMappingAnnotationRestEndpoint.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/FrenchGreetingSimplifiedMappingAnnotationRestEndpoint.java
rename to integration-tests/springmvc-tests/common/src/test/java/org/apache/servicecomb/demo/springmvc/tests/endpoints/FrenchGreetingSimplifiedMappingAnnotationRestEndpoint.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-connection-limit/pom.xml b/integration-tests/springmvc-tests/connection-limit/pom.xml
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-connection-limit/pom.xml
rename to integration-tests/springmvc-tests/connection-limit/pom.xml
diff --git a/integration-tests/springmvc-tests/springmvc-tests-connection-limit/src/test/java/org/apache/servicecomb/demo/springmvc/tests/RawSpringMvcIntegrationTest.java b/integration-tests/springmvc-tests/connection-limit/src/test/java/org/apache/servicecomb/demo/springmvc/tests/RawSpringMvcIntegrationTest.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-connection-limit/src/test/java/org/apache/servicecomb/demo/springmvc/tests/RawSpringMvcIntegrationTest.java
rename to integration-tests/springmvc-tests/connection-limit/src/test/java/org/apache/servicecomb/demo/springmvc/tests/RawSpringMvcIntegrationTest.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-simplified-mapping/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcTestMain.java b/integration-tests/springmvc-tests/connection-limit/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcTestMain.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-simplified-mapping/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcTestMain.java
rename to integration-tests/springmvc-tests/connection-limit/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcTestMain.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-simplified-mapping/src/test/resources/config/log4j.z.properties b/integration-tests/springmvc-tests/connection-limit/src/test/resources/config/log4j.z.properties
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-simplified-mapping/src/test/resources/config/log4j.z.properties
rename to integration-tests/springmvc-tests/connection-limit/src/test/resources/config/log4j.z.properties
diff --git a/integration-tests/springmvc-tests/springmvc-tests-connection-limit/src/test/resources/microservice.yaml b/integration-tests/springmvc-tests/connection-limit/src/test/resources/microservice.yaml
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-connection-limit/src/test/resources/microservice.yaml
rename to integration-tests/springmvc-tests/connection-limit/src/test/resources/microservice.yaml
diff --git a/integration-tests/springmvc-tests/springmvc-tests-general-with-springboot/pom.xml b/integration-tests/springmvc-tests/general-with-springboot/pom.xml
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-general-with-springboot/pom.xml
rename to integration-tests/springmvc-tests/general-with-springboot/pom.xml
diff --git a/integration-tests/springmvc-tests/springmvc-tests-general-with-springboot/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcSpringIntegrationTest.java b/integration-tests/springmvc-tests/general-with-springboot/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcSpringIntegrationTest.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-general-with-springboot/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcSpringIntegrationTest.java
rename to integration-tests/springmvc-tests/general-with-springboot/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcSpringIntegrationTest.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-simplified-mapping-with-springboot/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcSpringMain.java b/integration-tests/springmvc-tests/general-with-springboot/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcSpringMain.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-simplified-mapping-with-springboot/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcSpringMain.java
rename to integration-tests/springmvc-tests/general-with-springboot/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcSpringMain.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-simplified-mapping-with-springboot/src/test/resources/log4j.properties b/integration-tests/springmvc-tests/general-with-springboot/src/test/resources/log4j.properties
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-simplified-mapping-with-springboot/src/test/resources/log4j.properties
rename to integration-tests/springmvc-tests/general-with-springboot/src/test/resources/log4j.properties
diff --git a/integration-tests/springmvc-tests/springmvc-tests-simplified-mapping-with-springboot/src/test/resources/logback.xml b/integration-tests/springmvc-tests/general-with-springboot/src/test/resources/logback.xml
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-simplified-mapping-with-springboot/src/test/resources/logback.xml
rename to integration-tests/springmvc-tests/general-with-springboot/src/test/resources/logback.xml
diff --git a/integration-tests/springmvc-tests/springmvc-tests-simplified-mapping/src/test/resources/microservice.yaml b/integration-tests/springmvc-tests/general-with-springboot/src/test/resources/microservice.yaml
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-simplified-mapping/src/test/resources/microservice.yaml
rename to integration-tests/springmvc-tests/general-with-springboot/src/test/resources/microservice.yaml
diff --git a/integration-tests/springmvc-tests/springmvc-tests-general/pom.xml b/integration-tests/springmvc-tests/general/pom.xml
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-general/pom.xml
rename to integration-tests/springmvc-tests/general/pom.xml
diff --git a/integration-tests/springmvc-tests/springmvc-tests-general/src/test/java/org/apache/servicecomb/demo/springmvc/tests/RawSpringMvcIntegrationTest.java b/integration-tests/springmvc-tests/general/src/test/java/org/apache/servicecomb/demo/springmvc/tests/RawSpringMvcIntegrationTest.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-general/src/test/java/org/apache/servicecomb/demo/springmvc/tests/RawSpringMvcIntegrationTest.java
rename to integration-tests/springmvc-tests/general/src/test/java/org/apache/servicecomb/demo/springmvc/tests/RawSpringMvcIntegrationTest.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-general/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcTestMain.java b/integration-tests/springmvc-tests/general/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcTestMain.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-general/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcTestMain.java
rename to integration-tests/springmvc-tests/general/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcTestMain.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-general/src/test/resources/config/log4j.z.properties b/integration-tests/springmvc-tests/general/src/test/resources/config/log4j.z.properties
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-general/src/test/resources/config/log4j.z.properties
rename to integration-tests/springmvc-tests/general/src/test/resources/config/log4j.z.properties
diff --git a/integration-tests/springmvc-tests/springmvc-tests-simplified-mapping-with-springboot/src/test/resources/microservice.yaml b/integration-tests/springmvc-tests/general/src/test/resources/microservice.yaml
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-simplified-mapping-with-springboot/src/test/resources/microservice.yaml
rename to integration-tests/springmvc-tests/general/src/test/resources/microservice.yaml
diff --git a/integration-tests/springmvc-tests/pom.xml b/integration-tests/springmvc-tests/pom.xml
index 83090aa..f3c4623 100644
--- a/integration-tests/springmvc-tests/pom.xml
+++ b/integration-tests/springmvc-tests/pom.xml
@@ -28,15 +28,15 @@
 
   <artifactId>springmvc-tests</artifactId>
   <packaging>pom</packaging>
-  <name>Java Chassis::Integration Tests::Spring MVC</name>
+  <name>Java Chassis::Integration Tests::Spring MVC Tests</name>
 
   <modules>
-    <module>springmvc-tests-common</module>
-    <module>springmvc-tests-general</module>
-    <module>springmvc-tests-simplified-mapping</module>
-    <module>springmvc-tests-general-with-springboot</module>
-    <module>springmvc-tests-simplified-mapping-with-springboot</module>
-    <module>springmvc-tests-connection-limit</module>
+    <module>common</module>
+    <module>general</module>
+    <module>simplified-mapping</module>
+    <module>general-with-springboot</module>
+    <module>simplified-mapping-with-springboot</module>
+    <module>connection-limit</module>
   </modules>
 
   <dependencies>
diff --git a/integration-tests/springmvc-tests/springmvc-tests-simplified-mapping-with-springboot/pom.xml b/integration-tests/springmvc-tests/simplified-mapping-with-springboot/pom.xml
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-simplified-mapping-with-springboot/pom.xml
rename to integration-tests/springmvc-tests/simplified-mapping-with-springboot/pom.xml
diff --git a/integration-tests/springmvc-tests/springmvc-tests-simplified-mapping-with-springboot/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcSpringSimplifiedMappingAnnotationIntegrationTest.java b/integration-tests/springmvc-tests/simplified-mapping-with-springboot/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SimplifiedMappingAnnotationIntegrationTest.java
similarity index 93%
rename from integration-tests/springmvc-tests/springmvc-tests-simplified-mapping-with-springboot/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcSpringSimplifiedMappingAnnotationIntegrationTest.java
rename to integration-tests/springmvc-tests/simplified-mapping-with-springboot/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SimplifiedMappingAnnotationIntegrationTest.java
index 8987561..f51f834 100644
--- a/integration-tests/springmvc-tests/springmvc-tests-simplified-mapping-with-springboot/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcSpringSimplifiedMappingAnnotationIntegrationTest.java
+++ b/integration-tests/springmvc-tests/simplified-mapping-with-springboot/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SimplifiedMappingAnnotationIntegrationTest.java
@@ -25,7 +25,7 @@ import org.springframework.boot.SpringApplication;
 import org.springframework.test.context.junit4.SpringRunner;
 
 @RunWith(SpringRunner.class)
-public class SpringMvcSpringSimplifiedMappingAnnotationIntegrationTest extends SpringMvcIntegrationTestBase {
+public class SimplifiedMappingAnnotationIntegrationTest extends SpringMvcIntegrationTestBase {
   @BeforeClass
   public static void init() {
     System.setProperty("spring.profiles.active", "SimplifiedMapping");
diff --git a/integration-tests/springmvc-tests/springmvc-tests-general-with-springboot/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcSpringMain.java b/integration-tests/springmvc-tests/simplified-mapping-with-springboot/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcSpringMain.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-general-with-springboot/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcSpringMain.java
rename to integration-tests/springmvc-tests/simplified-mapping-with-springboot/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcSpringMain.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-general-with-springboot/src/test/resources/log4j.properties b/integration-tests/springmvc-tests/simplified-mapping-with-springboot/src/test/resources/log4j.properties
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-general-with-springboot/src/test/resources/log4j.properties
rename to integration-tests/springmvc-tests/simplified-mapping-with-springboot/src/test/resources/log4j.properties
diff --git a/integration-tests/springmvc-tests/springmvc-tests-general-with-springboot/src/test/resources/logback.xml b/integration-tests/springmvc-tests/simplified-mapping-with-springboot/src/test/resources/logback.xml
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-general-with-springboot/src/test/resources/logback.xml
rename to integration-tests/springmvc-tests/simplified-mapping-with-springboot/src/test/resources/logback.xml
diff --git a/integration-tests/springmvc-tests/springmvc-tests-general/src/test/resources/microservice.yaml b/integration-tests/springmvc-tests/simplified-mapping-with-springboot/src/test/resources/microservice.yaml
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-general/src/test/resources/microservice.yaml
rename to integration-tests/springmvc-tests/simplified-mapping-with-springboot/src/test/resources/microservice.yaml
diff --git a/integration-tests/springmvc-tests/springmvc-tests-simplified-mapping/pom.xml b/integration-tests/springmvc-tests/simplified-mapping/pom.xml
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-simplified-mapping/pom.xml
rename to integration-tests/springmvc-tests/simplified-mapping/pom.xml
diff --git a/integration-tests/springmvc-tests/springmvc-tests-simplified-mapping/src/test/java/org/apache/servicecomb/demo/springmvc/tests/RawSpringMvcSimplifiedMappingAnnotationIntegrationTest.java b/integration-tests/springmvc-tests/simplified-mapping/src/test/java/org/apache/servicecomb/demo/springmvc/tests/RawSpringMvcSimplifiedMappingAnnotationIntegrationTest.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-simplified-mapping/src/test/java/org/apache/servicecomb/demo/springmvc/tests/RawSpringMvcSimplifiedMappingAnnotationIntegrationTest.java
rename to integration-tests/springmvc-tests/simplified-mapping/src/test/java/org/apache/servicecomb/demo/springmvc/tests/RawSpringMvcSimplifiedMappingAnnotationIntegrationTest.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-connection-limit/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcTestMain.java b/integration-tests/springmvc-tests/simplified-mapping/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcTestMain.java
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-connection-limit/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcTestMain.java
rename to integration-tests/springmvc-tests/simplified-mapping/src/test/java/org/apache/servicecomb/demo/springmvc/tests/SpringMvcTestMain.java
diff --git a/integration-tests/springmvc-tests/springmvc-tests-connection-limit/src/test/resources/config/log4j.z.properties b/integration-tests/springmvc-tests/simplified-mapping/src/test/resources/config/log4j.z.properties
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-connection-limit/src/test/resources/config/log4j.z.properties
rename to integration-tests/springmvc-tests/simplified-mapping/src/test/resources/config/log4j.z.properties
diff --git a/integration-tests/springmvc-tests/springmvc-tests-general-with-springboot/src/test/resources/microservice.yaml b/integration-tests/springmvc-tests/simplified-mapping/src/test/resources/microservice.yaml
similarity index 100%
rename from integration-tests/springmvc-tests/springmvc-tests-general-with-springboot/src/test/resources/microservice.yaml
rename to integration-tests/springmvc-tests/simplified-mapping/src/test/resources/microservice.yaml
diff --git a/pom.xml b/pom.xml
index 7a3da9c..06673ae 100755
--- a/pom.xml
+++ b/pom.xml
@@ -106,7 +106,7 @@
   </distributionManagement>
 
   <modules>
-    <module>java-chassis-dependencies</module>
+    <module>dependencies</module>
     <module>parents</module>
     <module>common</module>
     <module>foundations</module>
@@ -122,7 +122,7 @@
     <module>metrics</module>
     <module>dynamic-config</module>
     <module>archetypes</module>
-    <module>java-chassis-spring-boot</module>
+    <module>spring-boot</module>
     <module>inspector</module>
     <module>solutions</module>
     <module>clients</module>
@@ -531,7 +531,7 @@
         <skip-remote-resource>false</skip-remote-resource>
       </properties>
       <modules>
-        <module>java-chassis-distribution</module>
+        <module>distribution</module>
       </modules>
     </profile>
     <profile>
diff --git a/java-chassis-spring-boot/pom.xml b/spring-boot/pom.xml
similarity index 92%
rename from java-chassis-spring-boot/pom.xml
rename to spring-boot/pom.xml
index 79a4a67..e60fdd0 100644
--- a/java-chassis-spring-boot/pom.xml
+++ b/spring-boot/pom.xml
@@ -32,8 +32,8 @@
   <name>Java Chassis::Spring Boot</name>
 
   <modules>
-    <module>java-chassis-spring-boot-common</module>
-    <module>java-chassis-spring-boot-starters</module>
+    <module>spring-boot-common</module>
+    <module>spring-boot-starters</module>
   </modules>
 
 </project>
\ No newline at end of file
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-common/pom.xml b/spring-boot/spring-boot-common/pom.xml
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-common/pom.xml
rename to spring-boot/spring-boot-common/pom.xml
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-common/src/main/java/org/apache/servicecomb/springboot/common/AbstractDiscoveryClient.java b/spring-boot/spring-boot-common/src/main/java/org/apache/servicecomb/springboot/common/AbstractDiscoveryClient.java
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-common/src/main/java/org/apache/servicecomb/springboot/common/AbstractDiscoveryClient.java
rename to spring-boot/spring-boot-common/src/main/java/org/apache/servicecomb/springboot/common/AbstractDiscoveryClient.java
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-common/src/main/java/org/apache/servicecomb/springboot/common/InstanceDiscoveryFilter.java b/spring-boot/spring-boot-common/src/main/java/org/apache/servicecomb/springboot/common/InstanceDiscoveryFilter.java
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-common/src/main/java/org/apache/servicecomb/springboot/common/InstanceDiscoveryFilter.java
rename to spring-boot/spring-boot-common/src/main/java/org/apache/servicecomb/springboot/common/InstanceDiscoveryFilter.java
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-discovery/pom.xml b/spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-discovery/pom.xml
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-discovery/pom.xml
rename to spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-discovery/pom.xml
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbDiscoveryClient.java b/spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbDiscoveryClient.java
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbDiscoveryClient.java
rename to spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbDiscoveryClient.java
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbDiscoveryClientConfiguration.java b/spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbDiscoveryClientConfiguration.java
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbDiscoveryClientConfiguration.java
rename to spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbDiscoveryClientConfiguration.java
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbRibbonClientConfiguration.java b/spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbRibbonClientConfiguration.java
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbRibbonClientConfiguration.java
rename to spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbRibbonClientConfiguration.java
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbRibbonConfiguration.java b/spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbRibbonConfiguration.java
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbRibbonConfiguration.java
rename to spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbRibbonConfiguration.java
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbRibbonEndpointDiscoveryFilter.java b/spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbRibbonEndpointDiscoveryFilter.java
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbRibbonEndpointDiscoveryFilter.java
rename to spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ScbRibbonEndpointDiscoveryFilter.java
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ServiceCombServerList.java b/spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ServiceCombServerList.java
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ServiceCombServerList.java
rename to spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/ServiceCombServerList.java
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/package-info.java b/spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/package-info.java
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/package-info.java
rename to spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/java/org/apache/servicecomb/springboot2/starter/discovery/package-info.java
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/resources/META-INF/spring.factories b/spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/resources/META-INF/spring.factories
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/resources/META-INF/spring.factories
rename to spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-discovery/src/main/resources/META-INF/spring.factories
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-gateway/pom.xml b/spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-gateway/pom.xml
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-gateway/pom.xml
rename to spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-gateway/pom.xml
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-servlet/pom.xml b/spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-servlet/pom.xml
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-servlet/pom.xml
rename to spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-servlet/pom.xml
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-servlet/src/main/java/org/apache/servicecomb/springboot2/starter/servlet/RestServletInitializer.java b/spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-servlet/src/main/java/org/apache/servicecomb/springboot2/starter/servlet/RestServletInitializer.java
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-servlet/src/main/java/org/apache/servicecomb/springboot2/starter/servlet/RestServletInitializer.java
rename to spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-servlet/src/main/java/org/apache/servicecomb/springboot2/starter/servlet/RestServletInitializer.java
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-servlet/src/main/java/org/apache/servicecomb/springboot2/starter/servlet/package-info.java b/spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-servlet/src/main/java/org/apache/servicecomb/springboot2/starter/servlet/package-info.java
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-servlet/src/main/java/org/apache/servicecomb/springboot2/starter/servlet/package-info.java
rename to spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-servlet/src/main/java/org/apache/servicecomb/springboot2/starter/servlet/package-info.java
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-standalone/pom.xml b/spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-standalone/pom.xml
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter-standalone/pom.xml
rename to spring-boot/spring-boot-starters/java-chassis-spring-boot-starter-standalone/pom.xml
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter/pom.xml b/spring-boot/spring-boot-starters/java-chassis-spring-boot-starter/pom.xml
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter/pom.xml
rename to spring-boot/spring-boot-starters/java-chassis-spring-boot-starter/pom.xml
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter/src/main/java/org/apache/servicecomb/springboot2/starter/EnableServiceComb.java b/spring-boot/spring-boot-starters/java-chassis-spring-boot-starter/src/main/java/org/apache/servicecomb/springboot2/starter/EnableServiceComb.java
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter/src/main/java/org/apache/servicecomb/springboot2/starter/EnableServiceComb.java
rename to spring-boot/spring-boot-starters/java-chassis-spring-boot-starter/src/main/java/org/apache/servicecomb/springboot2/starter/EnableServiceComb.java
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter/src/main/java/org/apache/servicecomb/springboot2/starter/ServiceCombSpringConfiguration.java b/spring-boot/spring-boot-starters/java-chassis-spring-boot-starter/src/main/java/org/apache/servicecomb/springboot2/starter/ServiceCombSpringConfiguration.java
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-starters/java-chassis-spring-boot-starter/src/main/java/org/apache/servicecomb/springboot2/starter/ServiceCombSpringConfiguration.java
rename to spring-boot/spring-boot-starters/java-chassis-spring-boot-starter/src/main/java/org/apache/servicecomb/springboot2/starter/ServiceCombSpringConfiguration.java
diff --git a/java-chassis-spring-boot/java-chassis-spring-boot-starters/pom.xml b/spring-boot/spring-boot-starters/pom.xml
similarity index 100%
rename from java-chassis-spring-boot/java-chassis-spring-boot-starters/pom.xml
rename to spring-boot/spring-boot-starters/pom.xml