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;
+  }
 }

Reply via email to