public class SubmitLimitUtil
extends java.lang.Object
限定符和类型 | 字段和说明 |
---|---|
static java.lang.String |
SUBMIT_TOKEN_KEY |
构造器和说明 |
---|
SubmitLimitUtil() |
限定符和类型 | 方法和说明 |
---|---|
static java.lang.String |
buildSubmitLimitKey(javax.servlet.http.HttpServletRequest request,
SubmitLimit submitLimit,
java.lang.String classname,
java.lang.String methodname)
组合生成lockKey
生成规则:用户id+类名+方法名+请求参数签名(对请求头部参数+请求body参数,取SHA1值)
|
static java.lang.String |
buildSubmitLimitKey(org.aspectj.lang.ProceedingJoinPoint joinPoint,
SubmitLimit submitLimit)
组合生成lockKey(通过@AjaxAccess注解提供给前端访问的方法)
生成规则:用户id+类名+方法名+参数个数
|
static void |
checkSubmitLimit(java.lang.String tokenKey,
javax.servlet.http.HttpServletRequest request,
SubmitLimit submitLimit)
检查token在缓存是否已存在,存在则重复执行抛出异常,不存在则加入缓存
|
static javax.ws.rs.core.Response |
error(java.lang.String msg)
输出报错信息
|
static java.lang.reflect.Method |
getClassMethod(java.lang.String className,
java.lang.String method)
获取指定类名和方法名的Method实例
|
static SubmitLimit |
getSubmitLimit(org.aspectj.lang.JoinPoint joinPoint)
获取注解值
|
static void |
removeAsyncKey(java.lang.String submitCacheKey)
异步线程,完成后手动删除
|
public static final java.lang.String SUBMIT_TOKEN_KEY
public static void checkSubmitLimit(java.lang.String tokenKey, javax.servlet.http.HttpServletRequest request, SubmitLimit submitLimit) throws SubmitLimitException
tokenKey
- request
- submitLimit
- SubmitLimitException
public static SubmitLimit getSubmitLimit(org.aspectj.lang.JoinPoint joinPoint)
joinPoint
- public static java.lang.String buildSubmitLimitKey(javax.servlet.http.HttpServletRequest request, SubmitLimit submitLimit, java.lang.String classname, java.lang.String methodname) throws java.lang.Exception
submitLimit
- request
- java.lang.Exception
public static java.lang.String buildSubmitLimitKey(org.aspectj.lang.ProceedingJoinPoint joinPoint, SubmitLimit submitLimit) throws java.lang.Exception
joinPoint
- submitLimit
- java.lang.Exception
public static java.lang.reflect.Method getClassMethod(java.lang.String className, java.lang.String method) throws java.lang.ClassNotFoundException
className
- method
- java.lang.ClassNotFoundException
public static javax.ws.rs.core.Response error(java.lang.String msg)
public static void removeAsyncKey(java.lang.String submitCacheKey)
submitCacheKey
-