当前位置: 首页 > news >正文

北京做环评备案的网站足球积分排行榜最新

北京做环评备案的网站,足球积分排行榜最新,流感吃什么药效果最好,网络营销专业如何使用AOP注解处理接口幂等性,默认禁止同一用户在上次提交未果后10秒内又重复提交 在原先的sameUrlData的注解上进行了copy新建优化,使用redis去setnx的参数视项目使用点而调整,不一定是每个项目都适合这种取参形式。 源码如下: package com…

使用AOP注解处理接口幂等性,默认禁止同一用户在上次提交未果后10秒内又重复提交

在原先的sameUrlData的注解上进行了copy新建优化,使用redis去setnx的参数视项目使用点而调整,不一定是每个项目都适合这种取参形式。

源码如下:

package com.rs.srm.annotation;/**  *	接口防短时间并发处理
*/
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;/** * 一个用户 相同url 同时提交 相同数据 验证 **/  
@Target(ElementType.METHOD)  
@Retention(RetentionPolicy.RUNTIME)  
public @interface NoRepeatData {/*** 设置请求锁定时间 单位秒*/int lockTime() default 10;
}
package com.rs.srm.annotation;import com.alibaba.fastjson.JSON;
import com.rs.common.exception.LockFailException;
import com.rs.common.meta.context.UserContext;
import com.rs.common.meta.service.lock.impl.RedisDistributedLockHandler;
import com.rs.common.vo.ResultDto;
import com.rs.system.shiro.util.LoginUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.codec.digest.DigestUtils;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;import javax.servlet.http.HttpServletRequest;@Aspect
@Component
@Slf4j
public class NoRepeatDataImpl {@AutowiredRedisDistributedLockHandler redisDistributedLockHandler;/*** 配置切入点*/@Pointcut("@annotation(com.rs.srm.annotation.NoRepeatData)")public void noRepeatDataCut() {}@Around("@annotation(noRepeatData)")public Object around(ProceedingJoinPoint point,NoRepeatData noRepeatData) throws Throwable {int lockExpire =  noRepeatData.lockTime();//加锁过期时间//开始时间long start = System.currentTimeMillis();String args = JSON.toJSONString(point.getArgs());ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();HttpServletRequest request = requestAttributes.getRequest();String url = request.getRequestURL().toString();UserContext u = LoginUtil.getUserContext();MethodSignature signature = (MethodSignature) point.getSignature();//请求的方法名String className = point.getTarget().getClass().getName();String methodName = signature.getName();String paramSign = DigestUtils.md5Hex(url + u.getUserId() + args);log.warn("======request url=>{},param=>{},uid=>{},md5-=>{}",url,args,u.getUserId(),paramSign);try {log.info("【接口加锁参数:{}】",paramSign);redisDistributedLockHandler.lock(paramSign, 1, lockExpire);//过期时间由注解接收Object result = null;try {result = point.proceed();long end = System.currentTimeMillis();log.info("【接口正常执行完成】接口名:{}.{},执行时间:{}毫秒", className, methodName, (end - start));return result;}catch (Exception e){log.error("业务代码执行异常",e);return ResultDto.fail("系统异常");}finally {redisDistributedLockHandler.unlock(paramSign,1);}}catch (LockFailException e){long end = System.currentTimeMillis();log.info("【重复提交已拦截】接口名:{}.{},执行时间:{}毫秒", className, methodName, (end - start));return ResultDto.fail("请勿重复提交数据,请耐心等待!");}}
}

http://www.yayakq.cn/news/170919/

相关文章:

  • 设计对网站的重要性国企公司网站制作
  • 手机网站怎么开发工具威海优化推广
  • 一个成功的网站必须具备哪几个要素网站管理公司
  • 扬州专业手机网站开发公司网站怎么做包括什么
  • 大厂网站建设企业做网站注意事项
  • 响应式网站展示型网站开发完要怎么部署
  • 做推广哪家网站好做pcr查基因序列的网站
  • 有什么网站是做投资的公司网站建设做分录
  • 网站 编码文档作品设计
  • 创网站软件做网站 修复漏洞
  • 什么网站可以做软件有哪些内容找人做建筑施工的网站
  • 网站安全性要求福州微网站开发
  • 网站备案号 怎么写wordpress 图片调用api接口
  • 烟台建网站哪家好网站地图咋做
  • 莱芜警方网站官网wordpress增加分类
  • 《教师网站建设与应用管理制度》互联网推广营销隐迅推我选
  • 快速学制作网站网络公司取名字参考大全最新
  • 网站域名证书哪里获取厦门市建设管理协会网站
  • 不备案 国内网站印度人做网站
  • 网站自身维护市政公司宣传册设计样本
  • 更换wordpress语言包长春seo建站
  • 北京专业网站建设大全企业seo网站推广公司
  • 江门网站建设总部电话洛阳做网站哪家专业
  • 做微信公众号的是哪个网站企业宣传网站建设图示
  • 建设项目立项网站沧州黄骅港贴吧最新消息
  • 凉山州规划和建设局网站建设pc 移动网站
  • 自力教育优化大师手机版下载安装app
  • 石嘴山网站建设公司哪里学做网站
  • 东莞正规的免费网站优化淄博网站制作公司托管
  • 重庆巴南区网站开发公司移动公司网络维护待遇