小编Geo*_*zko的帖子

Spring AOP:aspect @Around 不起作用

我使用 Spring Boot 和 Spring Initializr 制作了一个简单的 Web 应用程序,并尝试使用@Around建议编写@Aspect

当我将自定义注释@RetryOnFailure添加到控制器的端点方法时 - 它可以工作,但是当我将此注释添加到由控制器端点执行的控制器方法时 - 它不起作用。我花了很多时间来理解这种行为的原因,但没有任何结果。所以请帮忙。

项目位于此处:https : //github.com/zalizko/spring-aop-playground

@Aspect
@Component
public final class MethodRepeater {

    @Around("execution(* *(..)) && @annotation(RetryOnFailure)")
    public Object wrap(final ProceedingJoinPoint joinPoint) throws Throwable {
        // code is here
    }
}
Run Code Online (Sandbox Code Playgroud)

所以,我的目标是:

@RequestMapping
public String index() {
    inTry();
    return "OK";
}


@RetryOnFailure(attempts = 3, delay = 2, unit = TimeUnit.SECONDS)
public void inTry() {
    throw new RuntimeException("Exception in try " + ++counter); …
Run Code Online (Sandbox Code Playgroud)

java aop spring-aop

2
推荐指数
1
解决办法
5025
查看次数

标签 统计

aop ×1

java ×1

spring-aop ×1