在Spring项目中使用AspectJ拦截MongoDB调用

在Spring项目中使用AspectJ拦截MongoDB调用,spring,aspectj,mongodb-java,Spring,Aspectj,Mongodb Java,我正在使用Spring和MongoDB java驱动程序,并试图拦截mongo DBCursor对象上的所有调用,以便在执行查询之前查看查询 我一直在尝试使用用于外部JAR的aspject maven插件来实现这一点 然后,我将以下内容添加到一个使用@Aspect注释的类中。其他截取在我的项目源代码中的自定义类上运行良好 @Pointcut("execution(* com.mongodb.DBCursor..*.*(..))") public void interceptAndLog(Proc

我正在使用Spring和MongoDB java驱动程序,并试图拦截mongo DBCursor对象上的所有调用,以便在执行查询之前查看查询

我一直在尝试使用用于外部JAR的aspject maven插件来实现这一点

然后,我将以下内容添加到一个使用@Aspect注释的类中。其他截取在我的项目源代码中的自定义类上运行良好

@Pointcut("execution(* com.mongodb.DBCursor..*.*(..))")
public void interceptAndLog(ProceedingJoinPoint invocation){

          _loggingService.Info("intercepted DBCursor");

 }
我以前也尝试过用@Pointcut替换@Pointcut,但都没用

提前感谢,


Ronan

A切入点应该有一个空的主体,因为它不做任何事情,但应该被一个建议引用。B A before通知不适合ProceedingJoinPoint,因为后者属于around通知。
@EnableAspectJAutoProxy
@Pointcut("execution(* com.mongodb.DBCursor..*.*(..))")
public void interceptAndLog(ProceedingJoinPoint invocation){

          _loggingService.Info("intercepted DBCursor");

 }