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

常熟智能网站建设链接检测工具

常熟智能网站建设,链接检测工具,查看网站隐藏关键词,wordpress图片特效插件下载使用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.dinnco.com/news/59492.html

相关文章:

  • 网站备案管局网站seo网络优化
  • 做的网站怎样百度能搜到《新闻联播》 今天
  • 企业网页建设公司哪家比较好野狼seo团队
  • 网站建设公司企业文化怎么建立一个网站
  • 建设个人网站赚钱静态网页制作
  • 网站编辑能在家做seo每日一帖
  • 美食网站建设规划书短视频seo优化
  • 优秀企业网站的特点优化百度seo
  • 长春哪有做网站公司制作网站的软件叫什么
  • 个人网站营业执照今日军事新闻最新消息新闻
  • 做网站费用怎么入账百度做网站推广的费用
  • 专门做外挂的网站优化推广网站seo
  • wordpress后台更改语言seo优化啥意思
  • 网站开发 项目计划书seo网站外包公司
  • ps制作网站首页面教程最好用的免费建站平台
  • 凡科网站的自助建站流程具体操作步骤万能软文范例800字
  • 中介房产cms网站推广与优化方案
  • 网站城市切换代码怎么做网站关键词优化
  • 阿里云 域名 做网站seo还有前景吗
  • 常用动态网站开发技术互站网
  • ic外贸网站建设镇江百度推广
  • 钓鱼网站怎么制作视频南安seo
  • 装饰公司响应式网站建设案例seo智能优化
  • 银川360推广 网站建设长春seo推广
  • 做的网站怎么上传找关键词的方法与技巧
  • 又好又快自助建站各大网站提交入口网址
  • 奶茶店加盟网站建设铜陵seo
  • 杭州 网站建设网站网页设计与制作个人网站模板
  • 公司网站开发设计题目来源怎么写seo专员是指什么意思
  • 自字网站建设教程竞价托管哪家效果好