本篇內容主要講解“AOP如何實現監控方法執行耗時”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“AOP如何實現監控方法執行耗時”吧!
@AllArgsConstructor
@Aspect
@Slf4j
@Component
public class StopWatchPrinter implements Serializable {
private static final long serialVersionUID = -8557926864119671723L;
private static final String DELIMITER = "#";
private static final String PREFIX = "_threadId";
/**
* com.xxx.batching 包及所有子包下任何類的任何方法
*/
@Pointcut("execution(* com.xxx.batching..*.*(..))")
public void pointCut(){}
@Around("pointCut()")
public Object watch(ProceedingJoinPoint pjp){
StopWatch watcher = new StopWatch(new StringJoiner(DELIMITER)
.add(pjp.getSignature().toString())
.add(PREFIX)
.add(Thread.currentThread().getName()).toString());
watcher.start(pjp.getSignature().toString());
Object proceed = null;
try {
proceed = pjp.proceed();
} catch (Throwable e) {
log.error("watch error",e);
}
watcher.stop();
log.info("###watch end...print:{}",watcher.prettyPrint());
return proceed;
}
}到此,相信大家對“AOP如何實現監控方法執行耗時”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。