我试图在一个方面类中实现弹性逻辑,类似于日志记录的实现方式。下面是我一直在尝试的一段代码,但它不起作用。
@Pointcut("within(com.example.demo.*)")
public void myPointCut() {
}
@Around("myPointCut()")
public String addfaultToleranceRateLimiter(ProceedingJoinPoint pj) throws
Throwable,IllegalAccessException,InvocationTargetException {
String result = applyRLtolerance(pj);
return result;
}
@RateLimiter(name="service1",fallbackMethod = "fallbackRL")
private String applyRLtolerance(ProceedingJoinPoint pj) throws Throwable {
String result = (String) pj.proceed();
return result;
}
public String fallbackRL(Throwable t) {
System.out.println("in fallback" + new Date());
return "bye";
}
当调用 pj.proceed() 时,实际的逻辑被执行,但 @ratelimiter 注释似乎不起作用,因为执行的调用次数没有根据 application.yml 文件中给出的配置受到限制。