您的位置:首页 > 运维架构

Sprint AOP 打印方法执行时间。

2013-12-09 11:33 316 查看
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.perf4j.StopWatch;
import org.perf4j.slf4j.Slf4JStopWatch;

@Aspect
public class OrderProfileAspect{

@Around("execution(* com.karl.controller..*.*(..)) || execution(* com.karl.service.impl..*.*(..)) || execution(* com.karl.dao..*.*(..))")
public Object profile(ProceedingJoinPoint pjp) throws Throwable {
String tagName = pjp.getSignature().getDeclaringType().getSimpleName() + "." + pjp.getSignature().getName();
StopWatch stopWatch = new Slf4JStopWatch(tagName);
Object retVal = pjp.proceed();
stopWatch.stop();
return retVal;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: