您现在的位置是:首页 > 正文

aop执行模版

2024-01-30 20:04:09阅读 0

@Aspect
@Slf4j
@Component
public class PluginSimpleAspect {

    @Pointcut("execution(* com.myhexin.zixun.cmp.server.picture.match.service.impl.*Impl.*(..))")
    public void pointCut() {
    }

    @Around(value = "pointCut()")
    public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable {
        StopWatch sw = new StopWatch();
        MDC.put("processTime", "0");
        Object[] args = joinPoint.getArgs();
        Signature signature = joinPoint.getSignature();
        String className = signature.getName();
        MDC.put("pluginName", className);
        // 记录入参 PluginDTO
        log.info(">>>> 方法名称 = {} <<<<<", className);
        log.info("方法入参 {}" ,  JsonUtils.obj2String(args[0]));
        sw.start();
        try {
            return joinPoint.proceed();
        } catch (Throwable throwable) {
            log.error(">>>> Plugin = {}, PluginDTO = {} <<<<<", className,  JsonUtils.obj2String(args[0]), throwable);
            throw throwable;
        } finally {
            sw.stop();
            // 只在这条日志输出 processTime,方便统计
            MDC.put("processTime", String.valueOf(sw.getTotalTimeMillis()));
            log.info(">>>> 方法执行时间 {} ExecTime {}ms <<<<<", className, sw.getTotalTimeMillis());
            MDC.remove("processTime");
        }
    }
}

网站文章

  • 用计算机怎么算sin30,计算器sin30怎么按

    大家好,我是智能客服时间君,上述问题将由我为大家进行解答。以OPPO手机为例,在计算器上按sin30的方法如下:1、打开计算器。2、将手机横屏,并点击右下角的小图标,使手机屏幕变成横向。3、点击sin...

    2024-01-30 20:03:40
  • JVM参数-Xms和-Xmx的作用是什么

    JVM参数-Xms和-Xmx的作用是什么

    2024-01-30 20:03:33
  • Flask框架---路由相关

    路由 现代 web 应用都使用有意义的 URL ,这样有助于用户记忆,网页会更得到用户的青睐, 提高回头率。 使用 route() 装饰器来把函数绑定到 URL: @app.route(&#39;/&...

    2024-01-30 20:03:26
  • Android学习|布局—— FrameLayout 悬浮

    Android学习|布局—— FrameLayout 悬浮一、常见属性二、前景属性Demo      FrameLayout 与 RelativeLayout 类似。 都是布局包含多个子 FrameL...

    2024-01-30 20:03:19
  • 18.文本处理命令sed

    18.文本处理命令sed

    sed主要是用来将数据进行选取,替换,删除,新增的命令。sed通过一次仅读取一行内容来对某些指令进行处理后输出。首先sed通过文件或管道读取文件内容,但sed默认并不输出直接修改源文件,而是将读入的内...

    2024-01-30 20:02:51
  • mysql集群搭建

    mysql集群搭建

    mysql集群

    2024-01-30 20:02:43
  • 2019西安邀请赛游记

    第8场,湘潭是最后两小时选择了一道1个队过的题,没去想过得多点的题,这次是过得多的题没想出来,耗费大量时间,没时间调明明会做但是封榜前只有2队过的题。菜哭.jpg热身赛最先发现多组多组数据输入,然后我...

    2024-01-30 20:02:36
  • java版我的世界附魔指令_我的世界手机版附魔指令 怎么使用附魔指令大全

    java版我的世界附魔指令_我的世界手机版附魔指令 怎么使用附魔指令大全

    我的世界手机版附魔指令怎么使用,很多小伙伴都想使用简单方便的附魔指令可是却不知怎么使用,下面18183小编带来附魔指令大全一起来看看吧。附魔指令有两种:一、enchant指令;二、give指令。一、e...

    2024-01-30 20:02:07
  • c 发送请求得到html,C/C++使用libcurl库发送http请求(get和post可以用于请求html信息,也可以请求xml和json等串)...

    C++要实现http网络连接,需要借助第三方库,libcurl使用起来还是很方便的环境:win32 + vs2015如果要在Linux下使用,基本同理1,下载编译libcurl下载curl源码,找到v...

    2024-01-30 20:02:00
  • Spring05-代理模式

    Spring05-代理模式

    Spring 的两个关键点就是 IoC(控制反转) 和 AOP(面向切面编程),IoC 已经研究过了,接下里就到 AOP 了。不过在学习 Spring AOP 前,必须要了解一下代理模式,因为代理模式...

    2024-01-30 20:01:52