diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitProperties.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitProperties.java index 46d742d76..e54110f18 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitProperties.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/PolarisRateLimitProperties.java @@ -17,6 +17,8 @@ package com.tencent.cloud.polaris.ratelimit.config; +import java.util.List; + import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.http.HttpStatus; @@ -47,6 +49,15 @@ public class PolarisRateLimitProperties { * Max queuing time when using unirate. */ private long maxQueuingTime = 1000L; + private List limiterAddresses; + + List getLimiterAddresses() { + return limiterAddresses; + } + + void setLimiterAddresses(List limiterAddresses) { + this.limiterAddresses = limiterAddresses; + } public String getRejectRequestTips() { return rejectRequestTips; diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/RateLimitConfigModifier.java b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/RateLimitConfigModifier.java index 14b7bc799..536abcb9d 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/RateLimitConfigModifier.java +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/java/com/tencent/cloud/polaris/ratelimit/config/RateLimitConfigModifier.java @@ -39,6 +39,8 @@ public class RateLimitConfigModifier implements PolarisConfigModifier { // Update MaxQueuingTime. configuration.getProvider().getRateLimit() .setMaxQueuingTime(polarisRateLimitProperties.getMaxQueuingTime()); + configuration.getProvider().getRateLimit() + .setLimiterAddresses(polarisRateLimitProperties.getLimiterAddresses()); } @Override diff --git a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 34d80d038..ffd294790 100644 --- a/spring-cloud-starter-tencent-polaris-ratelimit/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-cloud-starter-tencent-polaris-ratelimit/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -29,6 +29,11 @@ "type": "java.lang.Long", "defaultValue": "1000", "description": "Max queuing time when using unirate." + }, + { + "name": "spring.cloud.polaris.ratelimit.limitAddresses", + "type": "java.util.List", + "description": "Remote limiter service addresses." } ] }