Package com.mikuac.shiro.common.limit
Class RateLimiter
java.lang.Object
com.mikuac.shiro.common.limit.RateLimiter
- All Implemented Interfaces:
org.springframework.boot.ApplicationRunner
@Component
public class RateLimiter
extends Object
implements org.springframework.boot.ApplicationRunner
限速器(令牌桶)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanacquire()获取令牌(阻塞式)booleanacquire(int permits) 获取令牌(阻塞式)voidrun(org.springframework.boot.ApplicationArguments args) 令牌定时补充器voidsetProperties(RateLimiterProperties properties) boolean获取令牌(非阻塞)booleantryAcquire(int permits) 获取令牌(非阻塞)
-
Constructor Details
-
RateLimiter
public RateLimiter()
-
-
Method Details
-
setProperties
- Parameters:
properties-RateLimiterProperties
-
run
public void run(org.springframework.boot.ApplicationArguments args) 令牌定时补充器- Specified by:
runin interfaceorg.springframework.boot.ApplicationRunner
-
acquire
public boolean acquire()获取令牌(阻塞式)- Returns:
- 是否成功
-
tryAcquire
public boolean tryAcquire()获取令牌(非阻塞)- Returns:
- 是否成功
-
tryAcquire
public boolean tryAcquire(int permits) 获取令牌(非阻塞)- Parameters:
permits- 获取数量- Returns:
- 是否成功
-
acquire
public boolean acquire(int permits) 获取令牌(阻塞式)- Parameters:
permits- 获取数量- Returns:
- 是否成功
-