使用oap切面导致controller被重复调用

使用oap切面导致controller被被重复调用

背景:
在自测的时候发现某个很奇怪的问题,某个变量本该加1的变成了加2,debug后发现所有controller都被调用了两次,里面的方法也执行了两次

原因:

后面经过排查发现写切面的时候,在环绕通知里调用了两次joinPoint.proceed()

joinPoint.proceed():执行目标方法目标方法

定义的切点:

 @Pointcut("execution(public * .......controller.*.*(..))")

可以看到execution表达式定义了所有controller包,及改包下所有类的所有方法,joinPoint.proceed()

解决方法:
修改原逻辑只执行一次joinPoint.proceed()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值