我需要确保特定方法的执行时间小于指定值。我想做一些类似以下的事情
@Around("execution(* com.foo.bar.executeTask2(..))" + " && someExternalParams(500)")
@Around("execution(* com.foo.bar.executeTask(..))" + " && someExternalParams(5)")
public void checkSLA(ProceedingJoinPoint joinPoint, int maxtime) throws Throwable {
//get staarttime
joinPoint.proceed();
// get endtime
if(endtime - starttime > maxtime)
System.out.println("Task took longertime");
}
如何使用 Spring AOP 实现这一点。一种解决方案是从文件中读取最大时间。有什么想法吗?