Skip to content

Commit c955c17

Browse files
authored
Merge pull request #35 from hengboy/2.3.x
Adapt "minbox-ratelimiter" component
2 parents 3fcda1f + 56c262c commit c955c17

File tree

43 files changed

+72
-2693
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+72
-2693
lines changed

api-boot-project/api-boot-autoconfigure/pom.xml

+10
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,16 @@
126126
<artifactId>minbox-mongo-client-settings</artifactId>
127127
<optional>true</optional>
128128
</dependency>
129+
<dependency>
130+
<groupId>org.minbox.framework</groupId>
131+
<artifactId>minbox-ratelimiter</artifactId>
132+
<optional>true</optional>
133+
</dependency>
134+
<dependency>
135+
<groupId>org.minbox.framework</groupId>
136+
<artifactId>minbox-resource-load</artifactId>
137+
<optional>true</optional>
138+
</dependency>
129139

130140
<!--Others-->
131141
<dependency>

api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/ratelimiter/ApiBootRateLimiterAutoConfiguration.java

+14-14
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@
1717

1818
package org.minbox.framework.api.boot.autoconfigure.ratelimiter;
1919

20-
import org.minbox.framework.api.boot.limiter.ApiBootRateLimiter;
21-
import org.minbox.framework.api.boot.limiter.aop.advisor.ApiBootRateLimiterAdvisor;
22-
import org.minbox.framework.api.boot.limiter.aop.interceptor.ApiBootRateLimiterMethodInterceptor;
23-
import org.minbox.framework.api.boot.limiter.centre.RateLimiterConfigCentre;
24-
import org.minbox.framework.api.boot.limiter.centre.support.DefaultRateLimiterConfigCentre;
25-
import org.minbox.framework.api.boot.limiter.result.RateLimiterOverFlowResponse;
26-
import org.minbox.framework.api.boot.limiter.support.GoogleGuavaRateLimiter;
20+
import org.minbox.framework.limiter.MinBoxRateLimiter;
21+
import org.minbox.framework.limiter.aop.advisor.RateLimiterAdvisor;
22+
import org.minbox.framework.limiter.aop.interceptor.RateLimiterMethodInterceptor;
23+
import org.minbox.framework.limiter.centre.RateLimiterConfigCentre;
24+
import org.minbox.framework.limiter.centre.support.DefaultRateLimiterConfigCentre;
25+
import org.minbox.framework.limiter.result.RateLimiterOverFlowResponse;
26+
import org.minbox.framework.limiter.support.GoogleGuavaRateLimiter;
2727
import org.springframework.beans.factory.ObjectProvider;
2828
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
2929
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
@@ -41,7 +41,7 @@
4141
* @author 恒宇少年
4242
*/
4343
@Configuration
44-
@ConditionalOnClass(ApiBootRateLimiter.class)
44+
@ConditionalOnClass(MinBoxRateLimiter.class)
4545
@EnableConfigurationProperties(ApiBootRateLimiterProperties.class)
4646
@AutoConfigureAfter(WebMvcAutoConfiguration.class)
4747
@Import({ApiBootRateLimiterRedisAutoConfiguration.class, ApiBootRateLimiterNacosConfigConfiguration.class})
@@ -69,7 +69,7 @@ public ApiBootRateLimiterAutoConfiguration(ApiBootRateLimiterProperties apiBootR
6969
@Bean
7070
@ConditionalOnMissingBean
7171
@ConditionalOnMissingClass("org.springframework.data.redis.core.RedisTemplate")
72-
public ApiBootRateLimiter googleGuavaRateLimiter(RateLimiterConfigCentre rateLimiterConfigCentre) {
72+
public MinBoxRateLimiter googleGuavaRateLimiter(RateLimiterConfigCentre rateLimiterConfigCentre) {
7373
return new GoogleGuavaRateLimiter(apiBootRateLimiterProperties.isEnableGlobalQps() ? apiBootRateLimiterProperties.getGlobalQps() : 0L, rateLimiterConfigCentre);
7474
}
7575

@@ -88,13 +88,13 @@ public RateLimiterConfigCentre defaultRateLimiterConfigCentre() {
8888
/**
8989
* ApiBoot RateLimiter Pointcut Advisor
9090
*
91-
* @param apiBootRateLimiterMethodInterceptor ResourceLoad Annotation Method Interceptor
91+
* @param rateLimiterMethodInterceptor ResourceLoad Annotation Method Interceptor
9292
* @return ApiBootRateLimiterAdvisor
9393
*/
9494
@Bean
9595
@ConditionalOnMissingBean
96-
ApiBootRateLimiterAdvisor rateLimiterAdvisor(ApiBootRateLimiterMethodInterceptor apiBootRateLimiterMethodInterceptor) {
97-
return new ApiBootRateLimiterAdvisor(apiBootRateLimiterMethodInterceptor);
96+
RateLimiterAdvisor rateLimiterAdvisor(RateLimiterMethodInterceptor rateLimiterMethodInterceptor) {
97+
return new RateLimiterAdvisor(rateLimiterMethodInterceptor);
9898
}
9999

100100
/**
@@ -106,7 +106,7 @@ ApiBootRateLimiterAdvisor rateLimiterAdvisor(ApiBootRateLimiterMethodInterceptor
106106
*/
107107
@Bean
108108
@ConditionalOnMissingBean
109-
ApiBootRateLimiterMethodInterceptor rateLimiterMethodInterceptor(ApiBootRateLimiter apiBootRateLimiter) {
110-
return new ApiBootRateLimiterMethodInterceptor(apiBootRateLimiter, rateLimiterOverFlowResponse);
109+
RateLimiterMethodInterceptor rateLimiterMethodInterceptor(MinBoxRateLimiter apiBootRateLimiter) {
110+
return new RateLimiterMethodInterceptor(apiBootRateLimiter, rateLimiterOverFlowResponse);
111111
}
112112
}

api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/ratelimiter/ApiBootRateLimiterNacosConfigConfiguration.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
import com.alibaba.nacos.api.NacosFactory;
2323
import com.alibaba.nacos.api.config.ConfigService;
2424
import com.alibaba.nacos.api.exception.NacosException;
25-
import org.minbox.framework.api.boot.limiter.centre.RateLimiterConfigCentre;
26-
import org.minbox.framework.api.boot.limiter.centre.support.NacosRateLimiterConfigCentre;
25+
import org.minbox.framework.limiter.centre.RateLimiterConfigCentre;
26+
import org.minbox.framework.limiter.centre.support.NacosRateLimiterConfigCentre;
2727
import org.slf4j.Logger;
2828
import org.slf4j.LoggerFactory;
2929
import org.springframework.beans.factory.annotation.Qualifier;

api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/ratelimiter/ApiBootRateLimiterRedisAutoConfiguration.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616
*/
1717

1818
package org.minbox.framework.api.boot.autoconfigure.ratelimiter;
19-
import org.minbox.framework.api.boot.limiter.ApiBootRateLimiter;
20-
import org.minbox.framework.api.boot.limiter.centre.RateLimiterConfigCentre;
21-
import org.minbox.framework.api.boot.limiter.support.RedisLuaRateLimiter;
19+
import org.minbox.framework.limiter.MinBoxRateLimiter;
20+
import org.minbox.framework.limiter.centre.RateLimiterConfigCentre;
21+
import org.minbox.framework.limiter.support.RedisLuaRateLimiter;
2222
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
2323
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2424
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -56,7 +56,7 @@ public ApiBootRateLimiterRedisAutoConfiguration(ApiBootRateLimiterProperties api
5656
*/
5757
@Bean
5858
@ConditionalOnMissingBean
59-
public ApiBootRateLimiter redisLuaRateLimiter(RedisTemplate redisTemplate, RateLimiterConfigCentre rateLimiterConfigCentre) {
59+
public MinBoxRateLimiter redisLuaRateLimiter(RedisTemplate redisTemplate, RateLimiterConfigCentre rateLimiterConfigCentre) {
6060
return new RedisLuaRateLimiter(apiBootRateLimiterProperties.isEnableGlobalQps() ? apiBootRateLimiterProperties.getGlobalQps() : 0L, rateLimiterConfigCentre, redisTemplate);
6161
}
6262
}

api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/resource/ApiBootResourceLoadAutoConfiguration.java

+14-14
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616
*/
1717
package org.minbox.framework.api.boot.autoconfigure.resource;
1818

19-
import org.minbox.framework.api.boot.resource.ApiBootResourceStoreDelegate;
20-
import org.minbox.framework.api.boot.resource.aop.advistor.ApiBootResourceLoadAdvisor;
21-
import org.minbox.framework.api.boot.resource.aop.interceptor.ApiBootResourceLoadMethodInterceptor;
22-
import org.minbox.framework.api.boot.resource.pusher.ApiBootResourcePusher;
23-
import org.minbox.framework.api.boot.resource.pusher.support.ApiBootMemoryResourcePusher;
19+
import org.minbox.framework.resource.ResourceStoreDelegate;
20+
import org.minbox.framework.resource.aop.advistor.ResourceLoadAdvisor;
21+
import org.minbox.framework.resource.aop.interceptor.ResourceLoadMethodInterceptor;
22+
import org.minbox.framework.resource.pusher.ResourcePusher;
23+
import org.minbox.framework.resource.pusher.support.MemoryResourcePusher;
2424
import org.springframework.beans.factory.ObjectProvider;
2525
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2626
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
@@ -35,15 +35,15 @@
3535
* @author 恒宇少年
3636
*/
3737
@Configuration
38-
@ConditionalOnClass(ApiBootResourceStoreDelegate.class)
38+
@ConditionalOnClass(ResourceStoreDelegate.class)
3939
@Import(ApiBootResourceRedisLoadAutoConfiguration.class)
4040
public class ApiBootResourceLoadAutoConfiguration {
4141
/**
4242
* ApiBoot Resource Load Store Delegate
4343
*/
44-
private ApiBootResourceStoreDelegate resourceStoreDelegate;
44+
private ResourceStoreDelegate resourceStoreDelegate;
4545

46-
public ApiBootResourceLoadAutoConfiguration(ObjectProvider<ApiBootResourceStoreDelegate> resourceStoreDelegateObjectProvider) {
46+
public ApiBootResourceLoadAutoConfiguration(ObjectProvider<ResourceStoreDelegate> resourceStoreDelegateObjectProvider) {
4747
this.resourceStoreDelegate = resourceStoreDelegateObjectProvider.getIfAvailable();
4848
}
4949

@@ -55,8 +55,8 @@ public ApiBootResourceLoadAutoConfiguration(ObjectProvider<ApiBootResourceStoreD
5555
*/
5656
@Bean
5757
@ConditionalOnMissingBean
58-
ApiBootResourceLoadAdvisor resourceLoadAdvisor(ApiBootResourceLoadMethodInterceptor resourceLoadMethodInterceptor) {
59-
return new ApiBootResourceLoadAdvisor(resourceLoadMethodInterceptor);
58+
ResourceLoadAdvisor resourceLoadAdvisor(ResourceLoadMethodInterceptor resourceLoadMethodInterceptor) {
59+
return new ResourceLoadAdvisor(resourceLoadMethodInterceptor);
6060
}
6161

6262
/**
@@ -67,8 +67,8 @@ ApiBootResourceLoadAdvisor resourceLoadAdvisor(ApiBootResourceLoadMethodIntercep
6767
*/
6868
@Bean
6969
@ConditionalOnMissingBean
70-
ApiBootResourceLoadMethodInterceptor resourceLoadMethodInterceptor(ApiBootResourcePusher apiBootResourcePusher) {
71-
return new ApiBootResourceLoadMethodInterceptor(apiBootResourcePusher);
70+
ResourceLoadMethodInterceptor resourceLoadMethodInterceptor(ResourcePusher apiBootResourcePusher) {
71+
return new ResourceLoadMethodInterceptor(apiBootResourcePusher);
7272
}
7373

7474
/**
@@ -80,7 +80,7 @@ ApiBootResourceLoadMethodInterceptor resourceLoadMethodInterceptor(ApiBootResour
8080
@Bean
8181
@ConditionalOnMissingBean
8282
@ConditionalOnMissingClass("org.springframework.data.redis.core.RedisTemplate")
83-
ApiBootMemoryResourcePusher apiBootMemoryResourcePusher() {
84-
return new ApiBootMemoryResourcePusher(resourceStoreDelegate);
83+
MemoryResourcePusher apiBootMemoryResourcePusher() {
84+
return new MemoryResourcePusher(resourceStoreDelegate);
8585
}
8686
}

api-boot-project/api-boot-autoconfigure/src/main/java/org/minbox/framework/api/boot/autoconfigure/resource/ApiBootResourceRedisLoadAutoConfiguration.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717

1818
package org.minbox.framework.api.boot.autoconfigure.resource;
1919

20-
import org.minbox.framework.api.boot.resource.ApiBootResourceStoreDelegate;
21-
import org.minbox.framework.api.boot.resource.pusher.support.ApiBootRedisResourcePusher;
20+
import org.minbox.framework.resource.ResourceStoreDelegate;
21+
import org.minbox.framework.resource.pusher.support.RedisResourcePusher;
2222
import org.springframework.beans.factory.ObjectProvider;
2323
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
2424
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
@@ -40,9 +40,9 @@ public class ApiBootResourceRedisLoadAutoConfiguration {
4040
/**
4141
* ApiBoot Resource Load Store Delegate
4242
*/
43-
private ApiBootResourceStoreDelegate resourceStoreDelegate;
43+
private ResourceStoreDelegate resourceStoreDelegate;
4444

45-
public ApiBootResourceRedisLoadAutoConfiguration(ObjectProvider<ApiBootResourceStoreDelegate> resourceStoreDelegateObjectProvider) {
45+
public ApiBootResourceRedisLoadAutoConfiguration(ObjectProvider<ResourceStoreDelegate> resourceStoreDelegateObjectProvider) {
4646
this.resourceStoreDelegate = resourceStoreDelegateObjectProvider.getIfAvailable();
4747
}
4848

@@ -54,7 +54,7 @@ public ApiBootResourceRedisLoadAutoConfiguration(ObjectProvider<ApiBootResourceS
5454
*/
5555
@Bean
5656
@ConditionalOnMissingBean
57-
ApiBootRedisResourcePusher apiBootRedisResourcePusher(RedisTemplate redisTemplate) {
58-
return new ApiBootRedisResourcePusher(resourceStoreDelegate, redisTemplate);
57+
RedisResourcePusher apiBootRedisResourcePusher(RedisTemplate redisTemplate) {
58+
return new RedisResourcePusher(resourceStoreDelegate, redisTemplate);
5959
}
6060
}

api-boot-project/api-boot-dependencies/pom.xml

+12
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
<!--Minbox Projects-->
2626
<minbox.version>1.0.5.RELEASE</minbox.version>
2727
<minbox-logging.version>1.0.5.RELEASE</minbox-logging.version>
28+
<minbox-ratelimiter.version>1.0.0.RELEASE</minbox-ratelimiter.version>
29+
<minbox-resource-load.version>1.0.0.RELEASE</minbox-resource-load.version>
2830
<minbox-mongo-client-settings.version>1.0.0.RELEASE</minbox-mongo-client-settings.version>
2931
<code.builder.core.version>1.0.5.RELEASE</code.builder.core.version>
3032
<mybatis-enhance.version>1.1.3.RELEASE</mybatis-enhance.version>
@@ -164,6 +166,16 @@
164166
<artifactId>mybatis-enhance-dsl</artifactId>
165167
<version>${mybatis-enhance.version}</version>
166168
</dependency>
169+
<dependency>
170+
<groupId>org.minbox.framework</groupId>
171+
<artifactId>minbox-ratelimiter</artifactId>
172+
<version>${minbox-ratelimiter.version}</version>
173+
</dependency>
174+
<dependency>
175+
<groupId>org.minbox.framework</groupId>
176+
<artifactId>minbox-resource-load</artifactId>
177+
<version>${minbox-resource-load.version}</version>
178+
</dependency>
167179

168180

169181
<!--ApiBoot Dependencies-->

api-boot-project/api-boot-starters/api-boot-starter-rate-limiter/pom.xml

+4
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@
4949
<groupId>org.minbox.framework</groupId>
5050
<artifactId>api-boot-starter</artifactId>
5151
</dependency>
52+
<dependency>
53+
<groupId>org.minbox.framework</groupId>
54+
<artifactId>minbox-ratelimiter</artifactId>
55+
</dependency>
5256
<dependency>
5357
<groupId>com.google.guava</groupId>
5458
<artifactId>guava</artifactId>

api-boot-project/api-boot-starters/api-boot-starter-resource-load/pom.xml

+4
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@
5050
<groupId>org.minbox.framework</groupId>
5151
<artifactId>api-boot-starter</artifactId>
5252
</dependency>
53+
<dependency>
54+
<groupId>org.minbox.framework</groupId>
55+
<artifactId>minbox-resource-load</artifactId>
56+
</dependency>
5357
<!--SpringBoot Aop-->
5458
<dependency>
5559
<groupId>org.springframework.boot</groupId>

api-boot-project/api-boot/src/main/java/org/minbox/framework/api/boot/limiter/ApiBootRateLimiter.java

-45
This file was deleted.

api-boot-project/api-boot/src/main/java/org/minbox/framework/api/boot/limiter/annotation/RateLimiter.java

-39
This file was deleted.

0 commit comments

Comments
 (0)