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 2021/11/22 11:16:07 UTC
[servicecomb-java-chassis] branch master updated: [SCB-2356] fix the compatibility with spring 5.3.7 or later (#2635)
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 b2a1f64 [SCB-2356] fix the compatibility with spring 5.3.7 or later (#2635)
b2a1f64 is described below
commit b2a1f64c8e154c125ff08846a05e9568c2176840
Author: fanjiwang <fj...@163.com>
AuthorDate: Mon Nov 22 19:15:44 2021 +0800
[SCB-2356] fix the compatibility with spring 5.3.7 or later (#2635)
---
.../impl/ConfigurableDatetimeAccessItem.java | 2 +-
.../element/impl/InvocationContextAccessItem.java | 3 +-
.../core/element/impl/RequestHeaderAccessItem.java | 2 +-
.../element/impl/UrlPathWithQueryAccessItem.java | 2 +-
.../rest/codec/param/BodyProcessorCreator.java | 2 +-
.../common/rest/locator/ServicePathManager.java | 3 +-
.../core/ConfigurationSpringInitializer.java | 3 +-
.../org/apache/servicecomb/core/SCBEngine.java | 2 +-
.../core/handler/AbstractHandlerManager.java | 3 +-
.../jaxrs/client/CodeFirstRestTemplateJaxrs.java | 2 +-
.../jaxrs/client/MultiErrorCodeServiceClient.java | 5 +-
.../java/org/apache/servicecomb/demo/TestMgr.java | 3 +-
dependencies/default/pom.xml | 9 +++-
.../edge/core/CompatiblePathVersionMapper.java | 2 +-
.../common/config/PaaSResourceUtils.java | 3 +-
.../config/impl/PaaSPropertiesLoaderUtils.java | 3 +-
.../foundation/common/http/HttpUtils.java | 3 +-
.../servicecomb/config/BootStrapProperties.java | 3 +-
.../archaius/sources/MicroserviceConfigLoader.java | 3 +-
.../governance/policy/CircuitBreakerPolicy.java | 2 +-
.../servicecomb/governance/policy/RetryPolicy.java | 2 +-
.../properties/GovernanceProperties.java | 2 +-
.../apache/servicecomb/router/RouterFilter.java | 2 +-
.../servicecomb/governance/FlowControlTest.java | 19 ++++---
.../governance/GovernancePropertiesTest.java | 27 +++-------
.../servicecomb/governance/OperatorTest.java | 14 ++---
.../governance/handler/ext/RetryExtensionTest.java | 10 ++--
.../servicecomb/router/RouterDistributorTest.java | 12 ++---
.../tracing/zipkin/ZipkinProviderDelegate.java | 2 +-
.../org/apache/servicecomb/it/deploy/Deploys.java | 2 +-
.../context/InheritInvocationContextFilter.java | 2 +-
.../provider/pojo/schema/PojoProducers.java | 2 +-
.../springmvc/reference/CseUriTemplateHandler.java | 60 ++++++++++++++++++++++
.../servicecomb/serviceregistry/RegistryUtils.java | 2 +-
.../task/MicroserviceInstanceRegisterTask.java | 2 +-
.../starter/servlet/RestServletInitializer.java | 2 +-
.../client/RestClientTransportContextFactory.java | 2 +-
.../rest/client/http/RestClientInvocation.java | 2 +-
.../rest/servlet/RestServletInjector.java | 2 +-
.../rest/servlet/ServletRestTransport.java | 2 +-
.../transport/rest/servlet/ServletUtils.java | 2 +-
.../transport/rest/vertx/TransportConfig.java | 2 +-
42 files changed, 145 insertions(+), 89 deletions(-)
diff --git a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/ConfigurableDatetimeAccessItem.java b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/ConfigurableDatetimeAccessItem.java
index c522927..d21ee86 100644
--- a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/ConfigurableDatetimeAccessItem.java
+++ b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/ConfigurableDatetimeAccessItem.java
@@ -22,10 +22,10 @@ import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.common.accessLog.core.element.AccessLogItem;
import org.apache.servicecomb.core.event.InvocationFinishEvent;
import org.apache.servicecomb.core.event.ServerAccessLogEvent;
-import org.springframework.util.StringUtils;
import io.vertx.ext.web.RoutingContext;
diff --git a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/InvocationContextAccessItem.java b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/InvocationContextAccessItem.java
index b357bb3..cdbd390 100644
--- a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/InvocationContextAccessItem.java
+++ b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/InvocationContextAccessItem.java
@@ -19,12 +19,13 @@ package org.apache.servicecomb.common.accessLog.core.element.impl;
import java.util.Map;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.common.accessLog.core.element.AccessLogItem;
import org.apache.servicecomb.common.rest.RestConst;
import org.apache.servicecomb.core.Invocation;
import org.apache.servicecomb.core.event.InvocationFinishEvent;
import org.apache.servicecomb.core.event.ServerAccessLogEvent;
-import org.springframework.util.StringUtils;
+
import io.vertx.ext.web.RoutingContext;
diff --git a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/RequestHeaderAccessItem.java b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/RequestHeaderAccessItem.java
index bb7859e..61b3f88 100644
--- a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/RequestHeaderAccessItem.java
+++ b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/RequestHeaderAccessItem.java
@@ -17,12 +17,12 @@
package org.apache.servicecomb.common.accessLog.core.element.impl;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.common.accessLog.core.element.AccessLogItem;
import org.apache.servicecomb.common.rest.RestConst;
import org.apache.servicecomb.common.rest.codec.param.RestClientRequestImpl;
import org.apache.servicecomb.core.event.InvocationFinishEvent;
import org.apache.servicecomb.core.event.ServerAccessLogEvent;
-import org.springframework.util.StringUtils;
import io.vertx.core.MultiMap;
import io.vertx.ext.web.RoutingContext;
diff --git a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathWithQueryAccessItem.java b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathWithQueryAccessItem.java
index 4b1a44b..369b458 100644
--- a/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathWithQueryAccessItem.java
+++ b/common/common-access-log/src/main/java/org/apache/servicecomb/common/accessLog/core/element/impl/UrlPathWithQueryAccessItem.java
@@ -19,11 +19,11 @@ package org.apache.servicecomb.common.accessLog.core.element.impl;
import static org.apache.servicecomb.common.rest.RestConst.REST_CLIENT_REQUEST_PATH;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.common.accessLog.core.element.AccessLogItem;
import org.apache.servicecomb.core.Invocation;
import org.apache.servicecomb.core.event.InvocationFinishEvent;
import org.apache.servicecomb.core.event.ServerAccessLogEvent;
-import org.springframework.util.StringUtils;
import io.vertx.core.http.HttpServerRequest;
import io.vertx.ext.web.RoutingContext;
diff --git a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/BodyProcessorCreator.java b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/BodyProcessorCreator.java
index 5d92d3d..91cd09d 100644
--- a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/BodyProcessorCreator.java
+++ b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/codec/param/BodyProcessorCreator.java
@@ -28,6 +28,7 @@ import javax.ws.rs.core.HttpHeaders;
import javax.ws.rs.core.MediaType;
import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.common.rest.RestConst;
import org.apache.servicecomb.common.rest.codec.RestClientRequest;
import org.apache.servicecomb.common.rest.codec.RestObjectMapperFactory;
@@ -37,7 +38,6 @@ import org.apache.servicecomb.swagger.converter.ConverterMgr;
import org.apache.servicecomb.swagger.generator.SwaggerConst;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.util.StringUtils;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectReader;
diff --git a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/locator/ServicePathManager.java b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/locator/ServicePathManager.java
index 28656da..0876f43 100644
--- a/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/locator/ServicePathManager.java
+++ b/common/common-rest/src/main/java/org/apache/servicecomb/common/rest/locator/ServicePathManager.java
@@ -19,6 +19,7 @@ package org.apache.servicecomb.common.rest.locator;
import java.util.Collection;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.common.rest.RestConst;
import org.apache.servicecomb.common.rest.definition.RestOperationMeta;
import org.apache.servicecomb.core.definition.MicroserviceMeta;
@@ -28,7 +29,7 @@ import org.apache.servicecomb.foundation.common.utils.ClassLoaderScopeContext;
import org.apache.servicecomb.registry.definition.DefinitionConst;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.util.StringUtils;
+
/**
* 对静态路径和动态路径的operation进行预先处理,加速operation的查询定位
diff --git a/core/src/main/java/org/apache/servicecomb/core/ConfigurationSpringInitializer.java b/core/src/main/java/org/apache/servicecomb/core/ConfigurationSpringInitializer.java
index 4f495a2..f2e95d2 100644
--- a/core/src/main/java/org/apache/servicecomb/core/ConfigurationSpringInitializer.java
+++ b/core/src/main/java/org/apache/servicecomb/core/ConfigurationSpringInitializer.java
@@ -27,6 +27,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
import org.apache.commons.configuration.AbstractConfiguration;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.config.ConfigMapping;
import org.apache.servicecomb.config.ConfigUtil;
import org.apache.servicecomb.config.YAMLUtil;
@@ -50,7 +51,7 @@ import org.springframework.core.env.Environment;
import org.springframework.core.env.MapPropertySource;
import org.springframework.core.env.MutablePropertySources;
import org.springframework.core.env.PropertySource;
-import org.springframework.util.StringUtils;
+
import com.google.common.eventbus.Subscribe;
import com.netflix.config.ConfigurationManager;
diff --git a/core/src/main/java/org/apache/servicecomb/core/SCBEngine.java b/core/src/main/java/org/apache/servicecomb/core/SCBEngine.java
index fc9d276..928ac3d 100644
--- a/core/src/main/java/org/apache/servicecomb/core/SCBEngine.java
+++ b/core/src/main/java/org/apache/servicecomb/core/SCBEngine.java
@@ -27,6 +27,7 @@ import java.util.concurrent.atomic.AtomicLong;
import javax.ws.rs.core.Response.Status;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.config.ConfigUtil;
import org.apache.servicecomb.config.priority.PriorityPropertyManager;
import org.apache.servicecomb.core.BootListener.BootEvent;
@@ -67,7 +68,6 @@ import org.apache.servicecomb.swagger.invocation.exception.InvocationException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.ApplicationContext;
-import org.springframework.util.StringUtils;
import com.google.common.eventbus.AllowConcurrentEvents;
import com.google.common.eventbus.EventBus;
diff --git a/core/src/main/java/org/apache/servicecomb/core/handler/AbstractHandlerManager.java b/core/src/main/java/org/apache/servicecomb/core/handler/AbstractHandlerManager.java
index 460e849..eb8d205 100644
--- a/core/src/main/java/org/apache/servicecomb/core/handler/AbstractHandlerManager.java
+++ b/core/src/main/java/org/apache/servicecomb/core/handler/AbstractHandlerManager.java
@@ -21,12 +21,13 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.core.Handler;
import org.apache.servicecomb.core.handler.config.Config;
import org.apache.servicecomb.foundation.common.AbstractObjectManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.util.StringUtils;
+
import com.netflix.config.DynamicPropertyFactory;
diff --git a/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/CodeFirstRestTemplateJaxrs.java b/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/CodeFirstRestTemplateJaxrs.java
index b44dd45..299c4ec 100644
--- a/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/CodeFirstRestTemplateJaxrs.java
+++ b/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/CodeFirstRestTemplateJaxrs.java
@@ -118,6 +118,6 @@ public class CodeFirstRestTemplateJaxrs extends CodeFirstRestTemplate {
}
}
TestMgr.check(404, exception.getRawStatusCode());
- TestMgr.check("404 Not Found: [{\"message\":\"Not Found\"}]", exception.getMessage());
+ TestMgr.check("404 Not Found: \"{\"message\":\"Not Found\"}\"", exception.getMessage());
}
}
diff --git a/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/MultiErrorCodeServiceClient.java b/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/MultiErrorCodeServiceClient.java
index c702682..ad1d21c 100644
--- a/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/MultiErrorCodeServiceClient.java
+++ b/demo/demo-jaxrs/jaxrs-client/src/main/java/org/apache/servicecomb/demo/jaxrs/client/MultiErrorCodeServiceClient.java
@@ -103,9 +103,8 @@ public class MultiErrorCodeServiceClient implements CategorizedTestCase {
} catch (HttpClientErrorException e) {
TestMgr.check(e.getRawStatusCode(), 400);
TestMgr.check(e.getMessage(),
- "400 Bad Request: [{\"message\":\"Parameter is not valid for operation "
- + "[jaxrs.MultiErrorCodeService.errorCode]. Parameter is [request]. "
- + "Processor is [body].\"}]");
+ "400 Bad Request: \"{\"message\":\"Parameter is not valid for operation [jaxrs.MultiErrorCodeService.errorCode]." +
+ " Parameter is [request]. Processor is [body].\"}\"");
}
entity = new HttpEntity<>(null, headers);
diff --git a/demo/demo-schema/src/main/java/org/apache/servicecomb/demo/TestMgr.java b/demo/demo-schema/src/main/java/org/apache/servicecomb/demo/TestMgr.java
index eb80dc6..23f0445 100644
--- a/demo/demo-schema/src/main/java/org/apache/servicecomb/demo/TestMgr.java
+++ b/demo/demo-schema/src/main/java/org/apache/servicecomb/demo/TestMgr.java
@@ -21,9 +21,10 @@ import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicLong;
+import org.apache.commons.lang3.StringUtils;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.util.StringUtils;
public class TestMgr {
private static final Logger LOGGER = LoggerFactory.getLogger(TestMgr.class);
diff --git a/dependencies/default/pom.xml b/dependencies/default/pom.xml
index e14dcd4..7fc5326 100644
--- a/dependencies/default/pom.xml
+++ b/dependencies/default/pom.xml
@@ -97,8 +97,8 @@
<slf4j.version>1.7.30</slf4j.version>
<snakeyaml.version>1.27</snakeyaml.version>
<spectator.version>0.83.0</spectator.version>
- <spring.version>5.2.9.RELEASE</spring.version>
- <spring-boot.version>2.3.4.RELEASE</spring-boot.version>
+ <spring.version>5.3.12</spring.version>
+ <spring-boot.version>2.5.6</spring-boot.version>
<stax2-api.version>4.2</stax2-api.version>
<swagger.version>1.6.2</swagger.version>
<swagger2markup.version>1.3.3</swagger2markup.version>
@@ -455,6 +455,11 @@
<artifactId>simpleclient_httpserver</artifactId>
<version>${prometheus.version}</version>
</dependency>
+ <dependency>
+ <groupId>io.prometheus</groupId>
+ <artifactId>simpleclient_common</artifactId>
+ <version>${prometheus.version}</version>
+ </dependency>
<dependency>
<groupId>io.protostuff</groupId>
diff --git a/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/CompatiblePathVersionMapper.java b/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/CompatiblePathVersionMapper.java
index cb92aec..1c512af 100644
--- a/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/CompatiblePathVersionMapper.java
+++ b/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/CompatiblePathVersionMapper.java
@@ -19,11 +19,11 @@ package org.apache.servicecomb.edge.core;
import java.util.Map;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.foundation.common.concurrent.ConcurrentHashMapEx;
import org.apache.servicecomb.foundation.common.exceptions.ServiceCombException;
import org.apache.servicecomb.registry.version.VersionRule;
import org.apache.servicecomb.registry.version.VersionRuleUtils;
-import org.springframework.util.StringUtils;
public class CompatiblePathVersionMapper {
// v1 -> 1.0.0-2.0.0
diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/PaaSResourceUtils.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/PaaSResourceUtils.java
index f310366..3325334 100644
--- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/PaaSResourceUtils.java
+++ b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/PaaSResourceUtils.java
@@ -24,11 +24,12 @@ import java.util.Comparator;
import java.util.List;
import java.util.Properties;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.foundation.common.config.impl.PropertiesLoader;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import org.springframework.core.io.support.ResourcePatternResolver;
-import org.springframework.util.StringUtils;
+
public class PaaSResourceUtils extends org.springframework.util.ResourceUtils {
public static final String PROPERTIES_SUFFIX = ".properties";
diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/impl/PaaSPropertiesLoaderUtils.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/impl/PaaSPropertiesLoaderUtils.java
index b31901b..a12eca5 100644
--- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/impl/PaaSPropertiesLoaderUtils.java
+++ b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/config/impl/PaaSPropertiesLoaderUtils.java
@@ -21,9 +21,10 @@ import java.io.IOException;
import java.util.List;
import java.util.Properties;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.foundation.common.config.PaaSResourceUtils;
import org.springframework.core.io.Resource;
-import org.springframework.util.StringUtils;
+
public class PaaSPropertiesLoaderUtils extends org.springframework.core.io.support.PropertiesLoaderUtils {
diff --git a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/http/HttpUtils.java b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/http/HttpUtils.java
index 2e32bc1..4793be5 100644
--- a/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/http/HttpUtils.java
+++ b/foundations/foundation-common/src/main/java/org/apache/servicecomb/foundation/common/http/HttpUtils.java
@@ -19,9 +19,10 @@ package org.apache.servicecomb.foundation.common.http;
import java.io.File;
import java.net.URI;
import java.net.URISyntaxException;
-import org.springframework.util.StringUtils;
+
import com.google.common.net.UrlEscapers;
+import org.apache.commons.lang3.StringUtils;
public final class HttpUtils {
private HttpUtils() {
diff --git a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/BootStrapProperties.java b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/BootStrapProperties.java
index 079bf86..15529eb 100644
--- a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/BootStrapProperties.java
+++ b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/BootStrapProperties.java
@@ -26,7 +26,8 @@ import org.apache.commons.configuration.AbstractConfiguration;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.PropertyConverter;
import org.apache.commons.configuration.SubsetConfiguration;
-import org.springframework.util.StringUtils;
+import org.apache.commons.lang3.StringUtils;
+
/**
* This class holds configurations that need to be configured
diff --git a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/sources/MicroserviceConfigLoader.java b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/sources/MicroserviceConfigLoader.java
index f022978..9b5d25f 100644
--- a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/sources/MicroserviceConfigLoader.java
+++ b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/archaius/sources/MicroserviceConfigLoader.java
@@ -20,10 +20,11 @@ package org.apache.servicecomb.config.archaius.sources;
import java.io.IOException;
import java.net.URL;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.foundation.common.exceptions.ServiceCombException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.util.StringUtils;
+
public class MicroserviceConfigLoader extends YAMLConfigLoader {
private static final Logger LOGGER = LoggerFactory.getLogger(MicroserviceConfigLoader.class);
diff --git a/governance/src/main/java/org/apache/servicecomb/governance/policy/CircuitBreakerPolicy.java b/governance/src/main/java/org/apache/servicecomb/governance/policy/CircuitBreakerPolicy.java
index 56c87c6..fd605d3 100644
--- a/governance/src/main/java/org/apache/servicecomb/governance/policy/CircuitBreakerPolicy.java
+++ b/governance/src/main/java/org/apache/servicecomb/governance/policy/CircuitBreakerPolicy.java
@@ -16,8 +16,8 @@
*/
package org.apache.servicecomb.governance.policy;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.governance.utils.GovernanceUtils;
-import org.springframework.util.StringUtils;
import io.github.resilience4j.circuitbreaker.CircuitBreakerConfig.SlidingWindowType;
diff --git a/governance/src/main/java/org/apache/servicecomb/governance/policy/RetryPolicy.java b/governance/src/main/java/org/apache/servicecomb/governance/policy/RetryPolicy.java
index 59d5e85..cd6bbc3 100644
--- a/governance/src/main/java/org/apache/servicecomb/governance/policy/RetryPolicy.java
+++ b/governance/src/main/java/org/apache/servicecomb/governance/policy/RetryPolicy.java
@@ -16,8 +16,8 @@
*/
package org.apache.servicecomb.governance.policy;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
import java.time.Duration;
import java.util.ArrayList;
diff --git a/governance/src/main/java/org/apache/servicecomb/governance/properties/GovernanceProperties.java b/governance/src/main/java/org/apache/servicecomb/governance/properties/GovernanceProperties.java
index ef1d0d9..bdcd854 100644
--- a/governance/src/main/java/org/apache/servicecomb/governance/properties/GovernanceProperties.java
+++ b/governance/src/main/java/org/apache/servicecomb/governance/properties/GovernanceProperties.java
@@ -24,6 +24,7 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.governance.MicroserviceMeta;
import org.apache.servicecomb.governance.entity.Configurable;
import org.apache.servicecomb.governance.event.GovernanceConfigurationChangedEvent;
@@ -38,7 +39,6 @@ import org.springframework.core.env.EnumerablePropertySource;
import org.springframework.core.env.Environment;
import org.springframework.core.env.PropertySource;
import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.Constructor;
diff --git a/governance/src/main/java/org/apache/servicecomb/router/RouterFilter.java b/governance/src/main/java/org/apache/servicecomb/router/RouterFilter.java
index 11eb821..fbd21c1 100644
--- a/governance/src/main/java/org/apache/servicecomb/router/RouterFilter.java
+++ b/governance/src/main/java/org/apache/servicecomb/router/RouterFilter.java
@@ -19,6 +19,7 @@ package org.apache.servicecomb.router;
import java.util.List;
import java.util.Map;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.router.cache.RouterRuleCache;
import org.apache.servicecomb.router.distribute.RouterDistributor;
import org.apache.servicecomb.router.match.RouterRuleMatcher;
@@ -28,7 +29,6 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
@Component
public class RouterFilter {
diff --git a/governance/src/test/java/org/apache/servicecomb/governance/FlowControlTest.java b/governance/src/test/java/org/apache/servicecomb/governance/FlowControlTest.java
index c31c4ab..4855482 100644
--- a/governance/src/test/java/org/apache/servicecomb/governance/FlowControlTest.java
+++ b/governance/src/test/java/org/apache/servicecomb/governance/FlowControlTest.java
@@ -17,10 +17,10 @@
package org.apache.servicecomb.governance;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
-
+import io.github.resilience4j.decorators.Decorators;
+import io.github.resilience4j.decorators.Decorators.DecorateCheckedSupplier;
+import io.github.resilience4j.ratelimiter.RateLimiter;
+import io.github.resilience4j.ratelimiter.RequestNotPermitted;
import org.apache.servicecomb.governance.handler.RateLimitingHandler;
import org.apache.servicecomb.governance.marker.GovernanceRequest;
import org.apache.servicecomb.governance.properties.RateLimitProperties;
@@ -28,17 +28,16 @@ import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.ConfigFileApplicationContextInitializer;
+import org.springframework.boot.test.context.ConfigDataApplicationContextInitializer;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
-import io.github.resilience4j.decorators.Decorators;
-import io.github.resilience4j.decorators.Decorators.DecorateCheckedSupplier;
-import io.github.resilience4j.ratelimiter.RateLimiter;
-import io.github.resilience4j.ratelimiter.RequestNotPermitted;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
@RunWith(SpringRunner.class)
-@ContextConfiguration(locations = "classpath:META-INF/spring/*.xml", initializers = ConfigFileApplicationContextInitializer.class)
+@ContextConfiguration(locations = "classpath:META-INF/spring/*.xml", initializers = ConfigDataApplicationContextInitializer.class)
public class FlowControlTest {
@Autowired
private RateLimitingHandler rateLimitingHandler;
diff --git a/governance/src/test/java/org/apache/servicecomb/governance/GovernancePropertiesTest.java b/governance/src/test/java/org/apache/servicecomb/governance/GovernancePropertiesTest.java
index 3aa25b6..ba028a5 100644
--- a/governance/src/test/java/org/apache/servicecomb/governance/GovernancePropertiesTest.java
+++ b/governance/src/test/java/org/apache/servicecomb/governance/GovernancePropertiesTest.java
@@ -17,43 +17,30 @@
package org.apache.servicecomb.governance;
-import java.time.Duration;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
import org.apache.servicecomb.governance.event.GovernanceConfigurationChangedEvent;
import org.apache.servicecomb.governance.event.GovernanceEventManager;
import org.apache.servicecomb.governance.marker.Matcher;
import org.apache.servicecomb.governance.marker.TrafficMarker;
-import org.apache.servicecomb.governance.policy.AbstractPolicy;
-import org.apache.servicecomb.governance.policy.BulkheadPolicy;
-import org.apache.servicecomb.governance.policy.CircuitBreakerPolicy;
-import org.apache.servicecomb.governance.policy.RateLimitingPolicy;
-import org.apache.servicecomb.governance.policy.RetryPolicy;
-import org.apache.servicecomb.governance.properties.BulkheadProperties;
-import org.apache.servicecomb.governance.properties.CircuitBreakerProperties;
-import org.apache.servicecomb.governance.properties.GovernanceProperties;
-import org.apache.servicecomb.governance.properties.MatchProperties;
-import org.apache.servicecomb.governance.properties.RateLimitProperties;
-import org.apache.servicecomb.governance.properties.RetryProperties;
+import org.apache.servicecomb.governance.policy.*;
+import org.apache.servicecomb.governance.properties.*;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.ConfigFileApplicationContextInitializer;
+import org.springframework.boot.test.context.ConfigDataApplicationContextInitializer;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.EnumerablePropertySource;
import org.springframework.core.env.Environment;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
+import java.time.Duration;
+import java.util.*;
+
@RunWith(SpringRunner.class)
-@ContextConfiguration(locations = "classpath:META-INF/spring/*.xml", initializers = ConfigFileApplicationContextInitializer.class)
+@ContextConfiguration(locations = "classpath:META-INF/spring/*.xml", initializers = ConfigDataApplicationContextInitializer.class)
public class GovernancePropertiesTest {
@Autowired
diff --git a/governance/src/test/java/org/apache/servicecomb/governance/OperatorTest.java b/governance/src/test/java/org/apache/servicecomb/governance/OperatorTest.java
index a389984..0ff6c1d 100644
--- a/governance/src/test/java/org/apache/servicecomb/governance/OperatorTest.java
+++ b/governance/src/test/java/org/apache/servicecomb/governance/OperatorTest.java
@@ -17,11 +17,6 @@
package org.apache.servicecomb.governance;
-import java.time.Duration;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
-
import org.apache.servicecomb.governance.marker.GovernanceRequest;
import org.apache.servicecomb.governance.marker.Matcher;
import org.apache.servicecomb.governance.marker.RequestProcessor;
@@ -31,12 +26,17 @@ import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.ConfigFileApplicationContextInitializer;
+import org.springframework.boot.test.context.ConfigDataApplicationContextInitializer;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
+import java.time.Duration;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+
@RunWith(SpringRunner.class)
-@ContextConfiguration(locations = "classpath:META-INF/spring/*.xml", initializers = ConfigFileApplicationContextInitializer.class)
+@ContextConfiguration(locations = "classpath:META-INF/spring/*.xml", initializers = ConfigDataApplicationContextInitializer.class)
public class OperatorTest {
@Autowired
private RequestProcessor requestProcessor;
diff --git a/governance/src/test/java/org/apache/servicecomb/governance/handler/ext/RetryExtensionTest.java b/governance/src/test/java/org/apache/servicecomb/governance/handler/ext/RetryExtensionTest.java
index 89b92a8..74d9880 100644
--- a/governance/src/test/java/org/apache/servicecomb/governance/handler/ext/RetryExtensionTest.java
+++ b/governance/src/test/java/org/apache/servicecomb/governance/handler/ext/RetryExtensionTest.java
@@ -17,18 +17,18 @@
package org.apache.servicecomb.governance.handler.ext;
-import java.util.Arrays;
-import java.util.List;
-
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.springframework.boot.test.context.ConfigFileApplicationContextInitializer;
+import org.springframework.boot.test.context.ConfigDataApplicationContextInitializer;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
+import java.util.Arrays;
+import java.util.List;
+
@RunWith(SpringRunner.class)
-@ContextConfiguration(locations = "classpath:META-INF/spring/*.xml", initializers = ConfigFileApplicationContextInitializer.class)
+@ContextConfiguration(locations = "classpath:META-INF/spring/*.xml", initializers = ConfigDataApplicationContextInitializer.class)
public class RetryExtensionTest {
@Test
diff --git a/governance/src/test/java/org/apache/servicecomb/router/RouterDistributorTest.java b/governance/src/test/java/org/apache/servicecomb/router/RouterDistributorTest.java
index 9d4d448..a084224 100644
--- a/governance/src/test/java/org/apache/servicecomb/router/RouterDistributorTest.java
+++ b/governance/src/test/java/org/apache/servicecomb/router/RouterDistributorTest.java
@@ -17,12 +17,6 @@
package org.apache.servicecomb.router;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
import org.apache.servicecomb.router.cache.RouterRuleCache;
import org.apache.servicecomb.router.distribute.RouterDistributor;
import org.junit.Assert;
@@ -30,15 +24,17 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.ConfigFileApplicationContextInitializer;
+import org.springframework.boot.test.context.ConfigDataApplicationContextInitializer;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.core.env.EnumerablePropertySource;
import org.springframework.core.env.Environment;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
+import java.util.*;
+
@RunWith(SpringRunner.class)
-@ContextConfiguration(locations = "classpath:META-INF/spring/*.xml", initializers = ConfigFileApplicationContextInitializer.class)
+@ContextConfiguration(locations = "classpath:META-INF/spring/*.xml", initializers = ConfigDataApplicationContextInitializer.class)
public class RouterDistributorTest {
private static final String TARGET_SERVICE_NAME = "test_server";
diff --git a/handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinProviderDelegate.java b/handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinProviderDelegate.java
index 60b83bf..9a8a58e 100644
--- a/handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinProviderDelegate.java
+++ b/handlers/handler-tracing-zipkin/src/main/java/org/apache/servicecomb/tracing/zipkin/ZipkinProviderDelegate.java
@@ -17,12 +17,12 @@
package org.apache.servicecomb.tracing.zipkin;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.core.Const;
import org.apache.servicecomb.core.Invocation;
import org.apache.servicecomb.swagger.invocation.Response;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.util.StringUtils;
import brave.Span;
import brave.Tracing;
diff --git a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/deploy/Deploys.java b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/deploy/Deploys.java
index ee0dddc..359d57b 100644
--- a/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/deploy/Deploys.java
+++ b/integration-tests/it-consumer/src/main/java/org/apache/servicecomb/it/deploy/Deploys.java
@@ -21,11 +21,11 @@ import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
+import org.apache.commons.lang3.StringUtils;
import org.apache.maven.model.Model;
import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.util.StringUtils;
public class Deploys {
diff --git a/integration-tests/it-edge/src/main/java/org/apache/servicecomb/it/edge/context/InheritInvocationContextFilter.java b/integration-tests/it-edge/src/main/java/org/apache/servicecomb/it/edge/context/InheritInvocationContextFilter.java
index fa1553c..e190aa3 100644
--- a/integration-tests/it-edge/src/main/java/org/apache/servicecomb/it/edge/context/InheritInvocationContextFilter.java
+++ b/integration-tests/it-edge/src/main/java/org/apache/servicecomb/it/edge/context/InheritInvocationContextFilter.java
@@ -21,13 +21,13 @@ import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Map;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.common.rest.filter.HttpServerFilter;
import org.apache.servicecomb.core.Const;
import org.apache.servicecomb.core.Invocation;
import org.apache.servicecomb.foundation.common.utils.JsonUtils;
import org.apache.servicecomb.foundation.vertx.http.HttpServletRequestEx;
import org.apache.servicecomb.swagger.invocation.Response;
-import org.springframework.util.StringUtils;
/**
* By default, the EdgeService does not inherit invocation context from outer request.
diff --git a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/schema/PojoProducers.java b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/schema/PojoProducers.java
index 9c1a7e0..c43d122 100644
--- a/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/schema/PojoProducers.java
+++ b/providers/provider-pojo/src/main/java/org/apache/servicecomb/provider/pojo/schema/PojoProducers.java
@@ -19,13 +19,13 @@ package org.apache.servicecomb.provider.pojo.schema;
import java.util.ArrayList;
import java.util.List;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.core.provider.producer.ProducerMeta;
import org.apache.servicecomb.foundation.common.utils.BeanUtils;
import org.apache.servicecomb.provider.pojo.RpcSchema;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.stereotype.Component;
-import org.springframework.util.StringUtils;
@Component
public class PojoProducers implements BeanPostProcessor {
diff --git a/providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/CseUriTemplateHandler.java b/providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/CseUriTemplateHandler.java
index 2fe71de..ea5a858 100644
--- a/providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/CseUriTemplateHandler.java
+++ b/providers/provider-springmvc/src/main/java/org/apache/servicecomb/provider/springmvc/reference/CseUriTemplateHandler.java
@@ -18,11 +18,14 @@ package org.apache.servicecomb.provider.springmvc.reference;
import java.net.URI;
import java.net.URISyntaxException;
+import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.servicecomb.common.rest.RestConst;
+import org.springframework.util.Assert;
+import org.springframework.util.StringUtils;
import org.springframework.web.util.UriComponents;
import org.springframework.web.util.UriComponentsBuilder;
@@ -75,6 +78,63 @@ public class CseUriTemplateHandler extends org.springframework.web.util.DefaultU
return createUri(uriTemplate, uriComponents);
}
+ @Override
+ protected UriComponentsBuilder initUriComponentsBuilder(String uriTemplate) {
+ UriComponentsBuilder builder = fromUriString(uriTemplate);
+ if (shouldParsePath() && !isStrictEncoding()) {
+ List<String> pathSegments = builder.build().getPathSegments();
+ builder.replacePath(null);
+ for (String pathSegment : pathSegments) {
+ builder.pathSegment(pathSegment);
+ }
+ }
+ return builder;
+ }
+
+ private static UriComponentsBuilder fromUriString(String uri) {
+ Assert.notNull(uri, "URI must not be null");
+ Matcher matcher = URI_PATTERN.matcher(uri);
+ if (matcher.matches()) {
+ UriComponentsBuilder builder = UriComponentsBuilder.newInstance();
+ String scheme = matcher.group(2);
+ String userInfo = matcher.group(5);
+ String host = matcher.group(6);
+ String port = matcher.group(8);
+ String path = matcher.group(9);
+ String query = matcher.group(11);
+ String fragment = matcher.group(13);
+ boolean opaque = false;
+ if (StringUtils.hasLength(scheme)) {
+ String rest = uri.substring(scheme.length());
+ if (!rest.startsWith(":/")) {
+ opaque = true;
+ }
+ }
+ builder.scheme(scheme);
+ if (opaque) {
+ String ssp = uri.substring(scheme.length()).substring(1);
+ if (StringUtils.hasLength(fragment)) {
+ ssp = ssp.substring(0, ssp.length() - (fragment.length() + 1));
+ }
+ builder.schemeSpecificPart(ssp);
+ } else {
+ builder.userInfo(userInfo);
+ builder.host(host);
+ if (StringUtils.hasLength(port)) {
+ builder.port(port);
+ }
+ builder.path(path);
+ builder.query(query);
+ }
+ if (StringUtils.hasText(fragment)) {
+ builder.fragment(fragment);
+ }
+ return builder;
+ } else {
+ throw new IllegalArgumentException("[" + uri + "] is not a valid URI");
+ }
+ }
+
private URI createUri(String uriTemplate, UriComponents uriComponents) {
String strUri = uriComponents.toUriString();
diff --git a/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/RegistryUtils.java b/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/RegistryUtils.java
index 83a921a..71827af 100644
--- a/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/RegistryUtils.java
+++ b/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/RegistryUtils.java
@@ -28,6 +28,7 @@ import java.util.function.Function;
import java.util.regex.Matcher;
import org.apache.commons.configuration.Configuration;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.config.ConfigUtil;
import org.apache.servicecomb.foundation.common.Holder;
import org.apache.servicecomb.foundation.common.event.EnableExceptionPropagation;
@@ -50,7 +51,6 @@ import org.apache.servicecomb.serviceregistry.registry.cache.MicroserviceCacheKe
import org.apache.servicecomb.serviceregistry.task.MicroserviceInstanceRegisterTask;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.util.StringUtils;
import com.google.common.eventbus.Subscribe;
diff --git a/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/task/MicroserviceInstanceRegisterTask.java b/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/task/MicroserviceInstanceRegisterTask.java
index c4eb3a8..e901c99 100644
--- a/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/task/MicroserviceInstanceRegisterTask.java
+++ b/service-registry/registry-service-center/src/main/java/org/apache/servicecomb/serviceregistry/task/MicroserviceInstanceRegisterTask.java
@@ -16,6 +16,7 @@
*/
package org.apache.servicecomb.serviceregistry.task;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.registry.RegistrationManager;
import org.apache.servicecomb.serviceregistry.adapter.EnvAdapterManager;
import org.apache.servicecomb.registry.api.registry.Microservice;
@@ -24,7 +25,6 @@ import org.apache.servicecomb.serviceregistry.client.ServiceRegistryClient;
import org.apache.servicecomb.serviceregistry.config.ServiceRegistryConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.util.StringUtils;
import com.google.common.eventbus.EventBus;
import com.google.common.eventbus.Subscribe;
diff --git a/spring-boot/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
index 8a0ff03..b5ffc4b 100644
--- a/spring-boot/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
@@ -24,6 +24,7 @@ import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import org.apache.commons.configuration.Configuration;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.transport.rest.servlet.ServletConfig;
import org.apache.servicecomb.transport.rest.servlet.ServletUtils;
import org.slf4j.Logger;
@@ -32,7 +33,6 @@ import org.springframework.boot.web.server.AbstractConfigurableWebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.boot.web.servlet.ServletContextInitializer;
import org.springframework.stereotype.Component;
-import org.springframework.util.StringUtils;
import com.netflix.config.DynamicPropertyFactory;
diff --git a/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/RestClientTransportContextFactory.java b/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/RestClientTransportContextFactory.java
index 7d2931d..07d823e 100644
--- a/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/RestClientTransportContextFactory.java
+++ b/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/RestClientTransportContextFactory.java
@@ -19,6 +19,7 @@ package org.apache.servicecomb.transport.rest.client;
import static javax.ws.rs.core.Response.Status.BAD_REQUEST;
import static org.apache.servicecomb.transport.rest.client.RestClientExceptionCodes.FAILED_TO_CREATE_REST_CLIENT_TRANSPORT_CONTEXT;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.common.rest.RestConst;
import org.apache.servicecomb.common.rest.definition.RestMetaUtils;
import org.apache.servicecomb.common.rest.definition.RestOperationMeta;
@@ -30,7 +31,6 @@ import org.apache.servicecomb.registry.definition.DefinitionConst;
import org.apache.servicecomb.swagger.invocation.exception.InvocationException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import org.springframework.util.StringUtils;
import io.vertx.core.Future;
import io.vertx.core.http.HttpClientRequest;
diff --git a/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/http/RestClientInvocation.java b/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/http/RestClientInvocation.java
index 72252e9..4c3651e 100644
--- a/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/http/RestClientInvocation.java
+++ b/transports/transport-rest/transport-rest-client/src/main/java/org/apache/servicecomb/transport/rest/client/http/RestClientInvocation.java
@@ -22,6 +22,7 @@ import java.util.concurrent.TimeoutException;
import javax.ws.rs.core.Response.Status;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.common.rest.RestConst;
import org.apache.servicecomb.common.rest.codec.param.RestClientRequestImpl;
import org.apache.servicecomb.common.rest.definition.RestOperationMeta;
@@ -49,7 +50,6 @@ import org.apache.servicecomb.swagger.invocation.exception.CommonExceptionData;
import org.apache.servicecomb.swagger.invocation.exception.InvocationException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.util.StringUtils;
import io.vertx.core.Future;
import io.vertx.core.Handler;
diff --git a/transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/RestServletInjector.java b/transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/RestServletInjector.java
index 7caa36f..f49c4a9 100644
--- a/transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/RestServletInjector.java
+++ b/transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/RestServletInjector.java
@@ -22,9 +22,9 @@ import java.util.Arrays;
import javax.servlet.ServletContext;
import javax.servlet.ServletRegistration.Dynamic;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.util.StringUtils;
public class RestServletInjector {
private static final Logger LOGGER = LoggerFactory.getLogger(RestServletInjector.class);
diff --git a/transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/ServletRestTransport.java b/transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/ServletRestTransport.java
index 77e7a77..4eceeb8 100644
--- a/transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/ServletRestTransport.java
+++ b/transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/ServletRestTransport.java
@@ -20,6 +20,7 @@ package org.apache.servicecomb.transport.rest.servlet;
import java.util.HashMap;
import java.util.Map;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.core.Invocation;
import org.apache.servicecomb.core.transport.AbstractTransport;
import org.apache.servicecomb.foundation.common.utils.ClassLoaderScopeContext;
@@ -29,7 +30,6 @@ import org.apache.servicecomb.transport.rest.client.RestTransportClient;
import org.apache.servicecomb.transport.rest.client.RestTransportClientManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.util.StringUtils;
public class ServletRestTransport extends AbstractTransport {
private static final Logger LOGGER = LoggerFactory.getLogger(ServletRestTransport.class);
diff --git a/transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/ServletUtils.java b/transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/ServletUtils.java
index 2a4409b..3efa9ad 100644
--- a/transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/ServletUtils.java
+++ b/transports/transport-rest/transport-rest-servlet/src/main/java/org/apache/servicecomb/transport/rest/servlet/ServletUtils.java
@@ -28,6 +28,7 @@ import javax.servlet.ServletContext;
import javax.servlet.ServletRegistration;
import javax.servlet.ServletRegistration.Dynamic;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.common.rest.UploadConfig;
import org.apache.servicecomb.foundation.common.exceptions.ServiceCombException;
import org.apache.servicecomb.foundation.common.net.IpPort;
@@ -36,7 +37,6 @@ import org.apache.servicecomb.foundation.common.utils.ClassLoaderScopeContext;
import org.apache.servicecomb.registry.definition.DefinitionConst;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.util.StringUtils;
public class ServletUtils {
private static final Logger LOGGER = LoggerFactory.getLogger(ServletUtils.class);
diff --git a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/TransportConfig.java b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/TransportConfig.java
index 36118ad..28665ac 100644
--- a/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/TransportConfig.java
+++ b/transports/transport-rest/transport-rest-vertx/src/main/java/org/apache/servicecomb/transport/rest/vertx/TransportConfig.java
@@ -21,8 +21,8 @@ import java.util.HashSet;
import java.util.Set;
import java.util.stream.Stream;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.transport.common.TransportConfigUtils;
-import org.springframework.util.StringUtils;
import com.netflix.config.DynamicPropertyFactory;
import com.netflix.config.DynamicStringProperty;