You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
820 B
40 lines
820 B
package com.mh.common.annotation; |
|
|
|
import java.lang.annotation.Documented; |
|
import java.lang.annotation.ElementType; |
|
import java.lang.annotation.Retention; |
|
import java.lang.annotation.RetentionPolicy; |
|
import java.lang.annotation.Target; |
|
import com.mh.common.constant.CacheConstants; |
|
import com.mh.common.enums.LimitType; |
|
|
|
/** |
|
* 限流注解 |
|
* |
|
* @author mh |
|
*/ |
|
@Target(ElementType.METHOD) |
|
@Retention(RetentionPolicy.RUNTIME) |
|
@Documented |
|
public @interface RateLimiter |
|
{ |
|
/** |
|
* 限流key |
|
*/ |
|
public String key() default CacheConstants.RATE_LIMIT_KEY; |
|
|
|
/** |
|
* 限流时间,单位秒 |
|
*/ |
|
public int time() default 60; |
|
|
|
/** |
|
* 限流次数 |
|
*/ |
|
public int count() default 100; |
|
|
|
/** |
|
* 限流类型 |
|
*/ |
|
public LimitType limitType() default LimitType.DEFAULT; |
|
}
|
|
|