feat:support config all recover enabled. (#1603)

Co-authored-by: Haotian Zhang <skyebefreeman@qq.com>
pull/1612/head
Fishtail 3 months ago committed by GitHub
parent 4b0c2fe98b
commit 98e19032b8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -40,3 +40,4 @@
- [feat:support config empty protection.](https://github.com/Tencent/spring-cloud-tencent/pull/1583) - [feat:support config empty protection.](https://github.com/Tencent/spring-cloud-tencent/pull/1583)
- [feat:support dynamic multi-discovery.](https://github.com/Tencent/spring-cloud-tencent/pull/1594) - [feat:support dynamic multi-discovery.](https://github.com/Tencent/spring-cloud-tencent/pull/1594)
- [feat:support ipv6.](https://github.com/Tencent/spring-cloud-tencent/pull/1600) - [feat:support ipv6.](https://github.com/Tencent/spring-cloud-tencent/pull/1600)
- [feat:support config all recover enabled.](https://github.com/Tencent/spring-cloud-tencent/pull/1603)

@ -42,6 +42,7 @@ public class DiscoveryConfigModifier implements PolarisConfigModifier {
RecoverRouterConfig recoverRouterConfig = configuration.getConsumer().getServiceRouter() RecoverRouterConfig recoverRouterConfig = configuration.getConsumer().getServiceRouter()
.getPluginConfig(ServiceRouterConfig.DEFAULT_ROUTER_RECOVER, RecoverRouterConfig.class); .getPluginConfig(ServiceRouterConfig.DEFAULT_ROUTER_RECOVER, RecoverRouterConfig.class);
recoverRouterConfig.setExcludeCircuitBreakInstances(false); recoverRouterConfig.setExcludeCircuitBreakInstances(false);
recoverRouterConfig.setAllRecoverEnable(polarisDiscoveryProperties.getAllRecoverEnabled());
// Update modified config to source properties // Update modified config to source properties
configuration.getConsumer().getServiceRouter() configuration.getConsumer().getServiceRouter()

@ -117,6 +117,11 @@ public class PolarisDiscoveryProperties {
*/ */
private Boolean preferIpv6 = false; private Boolean preferIpv6 = false;
/**
* is all recover enable.
*/
private Boolean allRecoverEnabled = true;
public String getInstanceId() { public String getInstanceId() {
return instanceId; return instanceId;
} }
@ -232,6 +237,14 @@ public class PolarisDiscoveryProperties {
this.preferIpv6 = preferIpv6; this.preferIpv6 = preferIpv6;
} }
public Boolean getAllRecoverEnabled() {
return allRecoverEnabled;
}
public void setAllRecoverEnabled(Boolean allRecoverEnabled) {
this.allRecoverEnabled = allRecoverEnabled;
}
public Boolean getEnabled() { public Boolean getEnabled() {
return enabled; return enabled;
} }
@ -270,6 +283,7 @@ public class PolarisDiscoveryProperties {
", zeroProtectionEnabled=" + zeroProtectionEnabled + ", zeroProtectionEnabled=" + zeroProtectionEnabled +
", zeroProtectionNeedTestConnectivity=" + zeroProtectionNeedTestConnectivity + ", zeroProtectionNeedTestConnectivity=" + zeroProtectionNeedTestConnectivity +
", preferIpv6=" + preferIpv6 + ", preferIpv6=" + preferIpv6 +
", allRecoverEnabled=" + allRecoverEnabled +
'}'; '}';
} }
} }

@ -84,6 +84,12 @@
"defaultValue": false, "defaultValue": false,
"description": "if prefer ipv6. Default: false." "description": "if prefer ipv6. Default: false."
}, },
{
"name": "spring.cloud.polaris.discovery.all-recover-enabled",
"type": "java.lang.Boolean",
"defaultValue": true,
"description": "is all recover enable. Default: true."
},
{ {
"name": "spring.cloud.polaris.discovery.eager-load.enabled", "name": "spring.cloud.polaris.discovery.eager-load.enabled",
"type": "java.lang.Boolean", "type": "java.lang.Boolean",

@ -88,6 +88,12 @@ public class PolarisDiscoveryPropertiesTest {
polarisDiscoveryProperties.setInstanceId("test-ins-id"); polarisDiscoveryProperties.setInstanceId("test-ins-id");
assertThat(polarisDiscoveryProperties.getInstanceId()).isEqualTo("test-ins-id"); assertThat(polarisDiscoveryProperties.getInstanceId()).isEqualTo("test-ins-id");
polarisDiscoveryProperties.setPreferIpv6(true);
assertThat(polarisDiscoveryProperties.getPreferIpv6()).isTrue();
polarisDiscoveryProperties.setAllRecoverEnabled(false);
assertThat(polarisDiscoveryProperties.getAllRecoverEnabled()).isFalse();
assertThat(polarisDiscoveryProperties.toString()) assertThat(polarisDiscoveryProperties.toString())
.isEqualTo("PolarisDiscoveryProperties{" .isEqualTo("PolarisDiscoveryProperties{"
+ "namespace='Test'" + "namespace='Test'"
@ -103,6 +109,7 @@ public class PolarisDiscoveryPropertiesTest {
+ ", serviceListRefreshInterval=1000" + ", serviceListRefreshInterval=1000"
+ ", zeroProtectionEnabled=false" + ", zeroProtectionEnabled=false"
+ ", zeroProtectionNeedTestConnectivity=false" + ", zeroProtectionNeedTestConnectivity=false"
+ ", preferIpv6=false}"); + ", preferIpv6=true"
+ ", allRecoverEnabled=false}");
} }
} }

@ -170,6 +170,8 @@ public final class TsfCoreEnvironmentPostProcessor implements EnvironmentPostPro
environment.getProperty("spring.cloud.polaris.router.rule-router.fail-over", "none")); environment.getProperty("spring.cloud.polaris.router.rule-router.fail-over", "none"));
defaultProperties.put("spring.cloud.polaris.router.namespace-router.enabled", defaultProperties.put("spring.cloud.polaris.router.namespace-router.enabled",
environment.getProperty("spring.cloud.polaris.router.namespace-router.enabled", "true")); environment.getProperty("spring.cloud.polaris.router.namespace-router.enabled", "true"));
defaultProperties.put("spring.cloud.polaris.discovery.all-recover-enabled",
environment.getProperty("spring.cloud.polaris.discovery.all-recover-enabled", "false"));
} }
} }

Loading…
Cancel
Save