繁体   English   中英

以Aspect切入点执行为条件

[英]Conditional on Aspect pointcut execution

我一直在想类似切入点的情况。 假设我有以下情况:

@Around("@annotation(org.springframework.scheduling.annotation.Scheduled)")
public void aroundSchedule(ProceedingJoinPoint joinPoint) throws Throwable {
    boolean success = false;

    try {
        joinPoint.proceed();

        success = true;
    } finally {
        // handle success/failure flag
    }
}

现在,某些Schedule具有在完成实际工作之前的先决条件。 它们是动态的,只能通过调用一些额外的服务进行检查才能实现。 我的目标是将其Schedule ,并让Schedule来完成它自己的工作单元。 我是必须命令还是只是渴望这样做?

现在是真正的问题。 有没有一种依赖方式Pointcut在另一个Pointcut结果或采样之一^执行之前,一些类似的有条件的方法吗?

在AspectJ中,有一个if()切入点类型在Spring AOP中不可用。 因此,要么切换到AspectJ,要么只是在方面中调用实用程序类或方法来手动进行前提条件检查。

我不知道是否值得为if()切入点切换到AspectJ,但是仅供参考, 它的工作原理是这样的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM