|
22 | 22 | import org.minbox.framework.api.boot.plugin.rate.limiter.aop.interceptor.ApiBootRateLimiterMethodInterceptor; |
23 | 23 | import org.minbox.framework.api.boot.plugin.rate.limiter.centre.RateLimiterConfigCentre; |
24 | 24 | import org.minbox.framework.api.boot.plugin.rate.limiter.centre.support.DefaultRateLimiterConfigCentre; |
| 25 | +import org.minbox.framework.api.boot.plugin.rate.limiter.result.RateLimiterOverFlowRequest; |
25 | 26 | import org.minbox.framework.api.boot.plugin.rate.limiter.support.GoogleGuavaRateLimiter; |
| 27 | +import org.springframework.beans.factory.ObjectProvider; |
26 | 28 | import org.springframework.boot.autoconfigure.AutoConfigureAfter; |
27 | 29 | import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; |
28 | 30 | import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; |
@@ -54,9 +56,14 @@ public class ApiBootRateLimiterAutoConfiguration { |
54 | 56 | * ApiBoot Rate Limiter Properties |
55 | 57 | */ |
56 | 58 | private ApiBootRateLimiterProperties apiBootRateLimiterProperties; |
| 59 | + /** |
| 60 | + * RateLimiter OverFlow Request |
| 61 | + */ |
| 62 | + private RateLimiterOverFlowRequest rateLimiterOverFlowRequest; |
57 | 63 |
|
58 | | - public ApiBootRateLimiterAutoConfiguration(ApiBootRateLimiterProperties apiBootRateLimiterProperties) { |
| 64 | + public ApiBootRateLimiterAutoConfiguration(ApiBootRateLimiterProperties apiBootRateLimiterProperties, ObjectProvider<RateLimiterOverFlowRequest> rateLimiterOverFlowRequestObjectProvider) { |
59 | 65 | this.apiBootRateLimiterProperties = apiBootRateLimiterProperties; |
| 66 | + this.rateLimiterOverFlowRequest = rateLimiterOverFlowRequestObjectProvider.getIfAvailable(); |
60 | 67 | } |
61 | 68 |
|
62 | 69 | /** |
@@ -106,6 +113,6 @@ ApiBootRateLimiterAdvisor rateLimiterAdvisor(ApiBootRateLimiterMethodInterceptor |
106 | 113 | @Bean |
107 | 114 | @ConditionalOnMissingBean |
108 | 115 | ApiBootRateLimiterMethodInterceptor rateLimiterMethodInterceptor(ApiBootRateLimiter apiBootRateLimiter) { |
109 | | - return new ApiBootRateLimiterMethodInterceptor(apiBootRateLimiter); |
| 116 | + return new ApiBootRateLimiterMethodInterceptor(apiBootRateLimiter, rateLimiterOverFlowRequest); |
110 | 117 | } |
111 | 118 | } |
0 commit comments