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
commit cb657eb661306f42d02345accc43473a4301e328 Author: liubao <[email protected]> AuthorDate: Mon Oct 9 17:40:22 2023 +0800 [SCB-2008]fix test case error --- .../springboot/springmvc/server/SpringmvcServer.java | 11 +++++++---- .../apache/servicecomb/config/apollo/ApolloClientTest.java | 1 - .../servicecomb/edge/core/CommonHttpEdgeDispatcher.java | 10 ++++++---- .../servicecomb/edge/core/DefaultEdgeDispatcher.java | 4 +++- .../servicecomb/edge/core/URLMappedEdgeDispatcher.java | 3 ++- .../apache/servicecomb/config/DynamicPropertiesImpl.java | 2 +- .../config/file/TestMicroserviceConfigLoader.java | 2 -- .../servicecomb/provider/rest/common/RestProducers.java | 14 +++++++++++--- 8 files changed, 30 insertions(+), 17 deletions(-) diff --git a/demo/demo-spring-boot-transport/demo-spring-boot-springmvc-server/src/main/java/org/apache/servicecomb/springboot/springmvc/server/SpringmvcServer.java b/demo/demo-spring-boot-transport/demo-spring-boot-springmvc-server/src/main/java/org/apache/servicecomb/springboot/springmvc/server/SpringmvcServer.java index 6f938e0d5..ea39accb4 100644 --- a/demo/demo-spring-boot-transport/demo-spring-boot-springmvc-server/src/main/java/org/apache/servicecomb/springboot/springmvc/server/SpringmvcServer.java +++ b/demo/demo-spring-boot-transport/demo-spring-boot-springmvc-server/src/main/java/org/apache/servicecomb/springboot/springmvc/server/SpringmvcServer.java @@ -39,10 +39,13 @@ public class SpringmvcServer { } private static void assertPropertyCorrect() { - String result = LegacyPropertyFactory.getStringProperty("test.unresolved.placeholder"); - if (!"jdbc:postgresql://${ip}:${port}/pt".equals(result)) { - LOGGER.error("tests for configuration error, stop"); - SCBEngine.getInstance().destroy(); + // spring environment will fail for unresolved placeholder property + try { + LegacyPropertyFactory.getStringProperty("test.unresolved.placeholder"); + } catch (IllegalArgumentException e) { + return; } + LOGGER.error("tests for configuration error, stop"); + SCBEngine.getInstance().destroy(); } } diff --git a/dynamic-config/config-apollo/src/test/java/org/apache/servicecomb/config/apollo/ApolloClientTest.java b/dynamic-config/config-apollo/src/test/java/org/apache/servicecomb/config/apollo/ApolloClientTest.java index 77a074e4f..65bc6632c 100644 --- a/dynamic-config/config-apollo/src/test/java/org/apache/servicecomb/config/apollo/ApolloClientTest.java +++ b/dynamic-config/config-apollo/src/test/java/org/apache/servicecomb/config/apollo/ApolloClientTest.java @@ -20,7 +20,6 @@ package org.apache.servicecomb.config.apollo; import java.util.HashMap; import java.util.Map; -import org.apache.servicecomb.config.ConfigUtil; import org.apache.servicecomb.config.apollo.ApolloClient.ConfigRefresh; import org.apache.servicecomb.config.apollo.ApolloDynamicPropertiesSource.UpdateHandler; import org.junit.jupiter.api.Assertions; diff --git a/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/CommonHttpEdgeDispatcher.java b/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/CommonHttpEdgeDispatcher.java index 5c3edc183..baed88dd4 100644 --- a/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/CommonHttpEdgeDispatcher.java +++ b/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/CommonHttpEdgeDispatcher.java @@ -23,6 +23,7 @@ import java.util.Map; import org.apache.servicecomb.config.ConfigurationChangedEvent; import org.apache.servicecomb.config.MicroserviceProperties; import org.apache.servicecomb.core.Invocation; +import org.apache.servicecomb.foundation.common.LegacyPropertyFactory; import org.apache.servicecomb.foundation.common.cache.VersionedCache; import org.apache.servicecomb.foundation.common.concurrent.ConcurrentHashMapEx; import org.apache.servicecomb.foundation.common.net.URIEndpointObject; @@ -79,15 +80,16 @@ public class CommonHttpEdgeDispatcher extends AbstractEdgeDispatcher { private Environment environment; public CommonHttpEdgeDispatcher() { - if (this.enabled()) { - loadConfigurations(); - } + } // though this is an SPI, but add as beans. @Autowired public void setEnvironment(Environment environment) { this.environment = environment; + if (this.enabled()) { + loadConfigurations(); + } } // Maybe future change to beans @@ -107,7 +109,7 @@ public class CommonHttpEdgeDispatcher extends AbstractEdgeDispatcher { @Override public int getOrder() { - return environment.getProperty(KEY_ORDER, int.class, 40_000); + return LegacyPropertyFactory.getIntProperty(KEY_ORDER, 40_000); } @Override diff --git a/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/DefaultEdgeDispatcher.java b/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/DefaultEdgeDispatcher.java index 9b1333ce9..08c33b2a8 100644 --- a/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/DefaultEdgeDispatcher.java +++ b/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/DefaultEdgeDispatcher.java @@ -19,6 +19,7 @@ package org.apache.servicecomb.edge.core; import org.apache.servicecomb.common.rest.RestProducerInvocationFlow; import org.apache.servicecomb.core.invocation.InvocationCreator; +import org.apache.servicecomb.foundation.common.LegacyPropertyFactory; import org.apache.servicecomb.foundation.vertx.http.HttpServletRequestEx; import org.apache.servicecomb.foundation.vertx.http.HttpServletResponseEx; import org.apache.servicecomb.foundation.vertx.http.VertxServerRequestToHttpServletRequest; @@ -59,7 +60,8 @@ public class DefaultEdgeDispatcher extends AbstractEdgeDispatcher { @Override public int getOrder() { - return environment.getProperty(KEY_ORDER, int.class, 20_000); + // can not use environment, add as beans is later than instantiate SPI + return LegacyPropertyFactory.getIntProperty(KEY_ORDER, 20_000); } @Override diff --git a/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/URLMappedEdgeDispatcher.java b/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/URLMappedEdgeDispatcher.java index 0f2920e8e..195513714 100644 --- a/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/URLMappedEdgeDispatcher.java +++ b/edge/edge-core/src/main/java/org/apache/servicecomb/edge/core/URLMappedEdgeDispatcher.java @@ -23,6 +23,7 @@ import java.util.Map; import org.apache.servicecomb.common.rest.RestProducerInvocationFlow; import org.apache.servicecomb.config.ConfigurationChangedEvent; import org.apache.servicecomb.core.invocation.InvocationCreator; +import org.apache.servicecomb.foundation.common.LegacyPropertyFactory; import org.apache.servicecomb.foundation.vertx.http.HttpServletRequestEx; import org.apache.servicecomb.foundation.vertx.http.HttpServletResponseEx; import org.apache.servicecomb.foundation.vertx.http.VertxServerRequestToHttpServletRequest; @@ -81,7 +82,7 @@ public class URLMappedEdgeDispatcher extends AbstractEdgeDispatcher { @Override public int getOrder() { - return environment.getProperty(KEY_ORDER, int.class, 30_000); + return LegacyPropertyFactory.getIntProperty(KEY_ORDER, 30_000); } @Override diff --git a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/DynamicPropertiesImpl.java b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/DynamicPropertiesImpl.java index 6ce2ea2d1..63cf7679d 100644 --- a/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/DynamicPropertiesImpl.java +++ b/foundations/foundation-config/src/main/java/org/apache/servicecomb/config/DynamicPropertiesImpl.java @@ -128,7 +128,7 @@ public class DynamicPropertiesImpl implements DynamicProperties { } if (booleanCallbacks.containsKey(entry.getKey())) { for (Consumer<Boolean> callbacks : booleanCallbacks.get(entry.getKey())) { - callbacks.accept((boolean) entry.getValue()); + callbacks.accept((Boolean) entry.getValue()); } } } diff --git a/foundations/foundation-config/src/test/java/org/apache/servicecomb/config/file/TestMicroserviceConfigLoader.java b/foundations/foundation-config/src/test/java/org/apache/servicecomb/config/file/TestMicroserviceConfigLoader.java index ff6b81260..0084976d0 100644 --- a/foundations/foundation-config/src/test/java/org/apache/servicecomb/config/file/TestMicroserviceConfigLoader.java +++ b/foundations/foundation-config/src/test/java/org/apache/servicecomb/config/file/TestMicroserviceConfigLoader.java @@ -25,8 +25,6 @@ import java.net.URL; import java.util.List; import java.util.stream.Collectors; -import org.apache.servicecomb.config.file.ConfigModel; -import org.apache.servicecomb.config.file.MicroserviceConfigLoader; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestProducers.java b/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestProducers.java index 7a0df73c7..8aed65f3b 100644 --- a/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestProducers.java +++ b/providers/provider-rest-common/src/main/java/org/apache/servicecomb/provider/rest/common/RestProducers.java @@ -22,13 +22,14 @@ import java.util.List; import org.apache.servicecomb.common.rest.RestConst; import org.apache.servicecomb.core.provider.producer.ProducerMeta; -import org.apache.servicecomb.foundation.common.LegacyPropertyFactory; import org.apache.servicecomb.foundation.common.utils.BeanUtils; import org.apache.servicecomb.foundation.common.utils.ReflectUtils; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.BeanPostProcessor; +import org.springframework.context.EnvironmentAware; +import org.springframework.core.env.Environment; -public class RestProducers implements BeanPostProcessor { +public class RestProducers implements BeanPostProcessor, EnvironmentAware { private final List<ProducerMeta> producerMetaList = new ArrayList<>(); @SuppressWarnings("unchecked") @@ -39,6 +40,8 @@ public class RestProducers implements BeanPostProcessor { return producerMetaList; } + private Environment environment; + @Override public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { return bean; @@ -67,10 +70,15 @@ public class RestProducers implements BeanPostProcessor { } if (restControllerCls != null && - LegacyPropertyFactory.getBooleanProperty(RestConst.PROVIDER_SCAN_REST_CONTROLLER, true) + environment.getProperty(RestConst.PROVIDER_SCAN_REST_CONTROLLER, boolean.class, true) && beanCls.getAnnotation(restControllerCls) != null) { ProducerMeta producerMeta = new ProducerMeta(beanCls.getName(), bean); producerMetaList.add(producerMeta); } } + + @Override + public void setEnvironment(Environment environment) { + this.environment = environment; + } }
