fix: fix lb configuration on bootstrap step.

pull/1673/head
fishtailfu 1 month ago
parent 11c172c60c
commit e7dcf048c3

@ -42,9 +42,5 @@ import org.springframework.context.annotation.Configuration;
@AutoConfigureAfter(LoadBalancerAutoConfiguration.class) @AutoConfigureAfter(LoadBalancerAutoConfiguration.class)
@LoadBalancerClients(defaultConfiguration = PolarisLoadBalancerClientConfiguration.class) @LoadBalancerClients(defaultConfiguration = PolarisLoadBalancerClientConfiguration.class)
public class PolarisLoadBalancerAutoConfiguration { public class PolarisLoadBalancerAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public PolarisShortestResponseTimeLoadBalancerConfigModifier polarisShortestResponseTimeLoadBalancerConfigModifier(PolarisLoadBalancerProperties polarisLoadBalancerProperties) {
return new PolarisShortestResponseTimeLoadBalancerConfigModifier(polarisLoadBalancerProperties.shortestResponseTime);
}
} }

@ -29,7 +29,7 @@ import org.springframework.context.annotation.Import;
*/ */
@Configuration(proxyBeanMethods = false) @Configuration(proxyBeanMethods = false)
@ConditionalOnProperty("spring.cloud.polaris.enabled") @ConditionalOnProperty("spring.cloud.polaris.enabled")
@Import(PolarisLoadBalancerAutoConfiguration.class) @Import(PolarisLoadBalancerPropertiesAutoConfiguration.class)
public class PolarisLoadBalancerBootstrapAutoConfiguration { public class PolarisLoadBalancerBootstrapAutoConfiguration {
} }

@ -0,0 +1,39 @@
/*
* Tencent is pleased to support the open source community by making spring-cloud-tencent available.
*
* Copyright (C) 2021 Tencent. All rights reserved.
*
* Licensed under the BSD 3-Clause License (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://opensource.org/licenses/BSD-3-Clause
*
* 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 com.tencent.cloud.polaris.loadbalancer;
import com.tencent.cloud.polaris.context.ConditionalOnPolarisEnabled;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* Auto-configuration of loadbalancer for Polaris.
*
* @author Haotian Zhang
*/
@Configuration(proxyBeanMethods = false)
@ConditionalOnPolarisEnabled
public class PolarisLoadBalancerPropertiesAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public PolarisShortestResponseTimeLoadBalancerConfigModifier polarisShortestResponseTimeLoadBalancerConfigModifier(PolarisLoadBalancerProperties polarisLoadBalancerProperties) {
return new PolarisShortestResponseTimeLoadBalancerConfigModifier(polarisLoadBalancerProperties.shortestResponseTime);
}
}

@ -3,5 +3,6 @@ com.tencent.cloud.polaris.discovery.PolarisDiscoveryAutoConfiguration
com.tencent.cloud.polaris.registry.PolarisServiceRegistryAutoConfiguration com.tencent.cloud.polaris.registry.PolarisServiceRegistryAutoConfiguration
com.tencent.cloud.polaris.endpoint.PolarisDiscoveryEndpointAutoConfiguration com.tencent.cloud.polaris.endpoint.PolarisDiscoveryEndpointAutoConfiguration
com.tencent.cloud.polaris.loadbalancer.PolarisLoadBalancerAutoConfiguration com.tencent.cloud.polaris.loadbalancer.PolarisLoadBalancerAutoConfiguration
com.tencent.cloud.polaris.loadbalancer.PolarisLoadBalancerPropertiesAutoConfiguration
com.tencent.cloud.polaris.registry.tsf.TsfDiscoveryRegistryAutoConfiguration com.tencent.cloud.polaris.registry.tsf.TsfDiscoveryRegistryAutoConfiguration
com.tencent.cloud.polaris.eager.config.PolarisEagerLoadAutoConfiguration com.tencent.cloud.polaris.eager.config.PolarisEagerLoadAutoConfiguration

@ -32,7 +32,7 @@ public class TrafficMirroringPropertiesTest {
TrafficMirroringProperties properties = new TrafficMirroringProperties(); TrafficMirroringProperties properties = new TrafficMirroringProperties();
assertThat(properties.isEnabled()).isTrue(); assertThat(properties.isEnabled()).isTrue();
assertThat(properties.getRequestPoolSize()).isEqualTo(4); assertThat(properties.getRequestPoolSize()).isEqualTo(100);
assertThat(properties.getRequestConnectionTimeout()).isEqualTo(5000L); assertThat(properties.getRequestConnectionTimeout()).isEqualTo(5000L);
} }

Loading…
Cancel
Save