diff --git a/README-zh.md b/README-zh.md
index e94af3506..5b61abfa6 100644
--- a/README-zh.md
+++ b/README-zh.md
@@ -79,7 +79,7 @@ Spring Cloud Tencent 所有组件都已上传到 Maven 中央仓库,只需要
com.tencent.cloud
spring-cloud-tencent-dependencies
- 1.9.0-2021.0.5
+ 1.9.1-2021.0.5
pom
import
diff --git a/README.md b/README.md
index 76e275a00..f45a22251 100644
--- a/README.md
+++ b/README.md
@@ -76,7 +76,7 @@ For example:
com.tencent.cloud
spring-cloud-tencent-dependencies
- 1.9.0-2021.0.5
+ 1.9.1-2021.0.5
pom
import
diff --git a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/PolarisConfigAutoConfiguration.java b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/PolarisConfigAutoConfiguration.java
index aa3198435..f336be29c 100644
--- a/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/PolarisConfigAutoConfiguration.java
+++ b/spring-cloud-starter-tencent-polaris-config/src/main/java/com/tencent/cloud/polaris/config/PolarisConfigAutoConfiguration.java
@@ -39,6 +39,7 @@ import org.springframework.cloud.context.properties.ConfigurationPropertiesRebin
import org.springframework.cloud.context.refresh.ContextRefresher;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
/**
* polaris config module auto configuration at init application context phase.
@@ -60,7 +61,7 @@ public class PolarisConfigAutoConfiguration {
}
@Bean
- @ConditionalOnMissingBean(search = SearchStrategy.CURRENT)
+ @Primary
@ConditionalOnReflectRefreshType
public ConfigurationPropertiesRebinder affectedConfigurationPropertiesRebinder(
ConfigurationPropertiesBeans beans) {
diff --git a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/annotation/SpringValueProcessorTest.java b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/annotation/SpringValueProcessorTest.java
index b4bd33afd..3a09233ba 100644
--- a/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/annotation/SpringValueProcessorTest.java
+++ b/spring-cloud-starter-tencent-polaris-config/src/test/java/com/tencent/cloud/polaris/config/spring/annotation/SpringValueProcessorTest.java
@@ -81,6 +81,7 @@ public class SpringValueProcessorTest {
.withConfiguration(AutoConfigurations.of(RefreshAutoConfiguration.class))
.withConfiguration(AutoConfigurations.of(ValueTest.class))
.withConfiguration(AutoConfigurations.of(PolarisConfigAutoConfiguration.class))
+ .withAllowBeanDefinitionOverriding(true)
.withPropertyValues("spring.application.name=" + "conditionalOnConfigReflectEnabledTest")
.withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081")
.withPropertyValues("spring.cloud.polaris.config.refresh-type=" + RefreshType.REFLECT)
@@ -114,6 +115,7 @@ public class SpringValueProcessorTest {
.withConfiguration(AutoConfigurations.of(RefreshAutoConfiguration.class))
.withConfiguration(AutoConfigurations.of(ValueTest.class))
.withConfiguration(AutoConfigurations.of(PolarisConfigAutoConfiguration.class))
+ .withAllowBeanDefinitionOverriding(true)
.withPropertyValues("spring.application.name=" + "conditionalOnConfigReflectEnabledTest")
.withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081")
.withPropertyValues("spring.cloud.polaris.config.refresh-type=" + RefreshType.REFLECT)
@@ -147,6 +149,7 @@ public class SpringValueProcessorTest {
.withConfiguration(AutoConfigurations.of(RefreshAutoConfiguration.class))
.withConfiguration(AutoConfigurations.of(XMLBeamDefinitionTest.class))
.withConfiguration(AutoConfigurations.of(PolarisConfigAutoConfiguration.class))
+ .withAllowBeanDefinitionOverriding(true)
.withPropertyValues("spring.application.name=" + "conditionalOnConfigReflectEnabledTest")
.withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081")
.withPropertyValues("spring.cloud.polaris.config.refresh-type=" + RefreshType.REFLECT)
diff --git a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerAutoConfigurationTest.java b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerAutoConfigurationTest.java
index 93c7086fb..9bce63538 100644
--- a/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerAutoConfigurationTest.java
+++ b/spring-cloud-starter-tencent-polaris-discovery/src/test/java/com/tencent/cloud/polaris/loadbalancer/PolarisLoadBalancerAutoConfigurationTest.java
@@ -24,11 +24,15 @@ import org.junit.Test;
import org.springframework.boot.autoconfigure.AutoConfigurations;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
+import org.springframework.cloud.client.loadbalancer.LoadBalanced;
+import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import org.springframework.web.client.RestTemplate;
import static com.tencent.polaris.test.common.Consts.PORT;
import static com.tencent.polaris.test.common.Consts.SERVICE_PROVIDER;
import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.Assert.fail;
/**
* Test for {@link PolarisLoadBalancerAutoConfiguration}.
@@ -38,24 +42,37 @@ import static org.assertj.core.api.Assertions.assertThat;
public class PolarisLoadBalancerAutoConfigurationTest {
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
+ .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER)
+ .withPropertyValues("server.port=" + PORT)
+ .withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081")
+ .withPropertyValues("spring.cloud.polaris.loadbalancer.strategy=polarisWeighted")
.withConfiguration(AutoConfigurations.of(
PolarisRibbonTest.class,
PolarisLoadBalancerAutoConfiguration.class,
- PolarisContextAutoConfiguration.class))
- .withPropertyValues("spring.application.name=" + SERVICE_PROVIDER)
- .withPropertyValues("server.port=" + PORT)
- .withPropertyValues("spring.cloud.polaris.address=grpc://127.0.0.1:10081");
+ PolarisContextAutoConfiguration.class));
@Test
public void testDefaultInitialization() {
this.contextRunner.run(context -> {
assertThat(context).hasSingleBean(RouterAPI.class);
+ assertThat(context).hasSingleBean(RestTemplate.class);
+ try {
+ context.getBean(RestTemplate.class).getForEntity("http://wrong.url", String.class);
+ fail();
+ }
+ catch (Exception e) {
+ // do nothing
+ }
});
}
@Configuration
@EnableAutoConfiguration
static class PolarisRibbonTest {
-
+ @Bean
+ @LoadBalanced
+ public RestTemplate restTemplate() {
+ return new RestTemplate();
+ }
}
}