Java AspectJ不适用于实现AsyncUncaughtExceptionHandler的类

Java AspectJ不适用于实现AsyncUncaughtExceptionHandler的类,java,aop,aspectj,Java,Aop,Aspectj,我有以下课程: @Component public class AsyncExceptionHandler implements AsyncUncaughtExceptionHandler { @Override public void handleUncaughtException(Throwable ex, Method method, Object... params) { System.out.println("Error handling!");

我有以下课程:

@Component
public class AsyncExceptionHandler implements AsyncUncaughtExceptionHandler {

    @Override
    public void handleUncaughtException(Throwable ex, Method method, Object... params) {
        System.out.println("Error handling!"); 
    }
}
我有以下几方面:

@Before("execution(* org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler.handleUncaughtException(java.lang.Throwable, java.lang.reflect.Method, java.lang.Object...)) && "
        + "args(ex, method, params) && target(myapplication.exception.handler.AsyncExceptionHandler)")
public void asyncExceptionHandlerHandleUncaughtExceptionBefore(Throwable ex, Method method, Object... params) {
    System.out.println("Aspect OK!"); 
}
我需要这方面,因为一个标准的方式登录到我的应用程序。 今天,这类方面有很多方面都在发挥作用! 只有这方面不起作用

问题:
  • 我猜不可能截获AsyncUncaughtExceptionHandler实现(一个 拦截器)。是吗
  • 与varags
    params
    相关的内容

  • 在我看来,您的切入点和建议声明(也是varargs部分)还不错。不过,我是AOP专家,不是Spring用户。但我对SpringAOP所知的是,有文档记录的限制,即不能将方面应用于其他方面。话虽如此,我不知道异常处理程序在Spring中是如何实现的。如果在内部使用AOP以某种方式包装它们,您可能确实达到了上述限制。但这纯粹是猜测
    AsyncUncaughtExceptionHandler
    确实驻留在名为
    org.springframework.aop.interceptor
    的包中。如果您在GitHub上有一个for me,我想克隆它并四处查看/调试一下,因为这是一个有趣的问题。也许我可以为你否认或证实一些事情。