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 Details

    • RateLimiter

      public RateLimiter()
  • Method Details

    • setProperties

      @Autowired public void setProperties(RateLimiterProperties properties)
      Parameters:
      properties - RateLimiterProperties
    • run

      public void run(org.springframework.boot.ApplicationArguments args)
      令牌定时补充器
      Specified by:
      run in interface org.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:
      是否成功