Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring aop截获MongoTemplate_Spring_Mongodb_Aspectj_Spring Data Mongodb_Spring Aop - Fatal编程技术网

Spring aop截获MongoTemplate

Spring aop截获MongoTemplate,spring,mongodb,aspectj,spring-data-mongodb,spring-aop,Spring,Mongodb,Aspectj,Spring Data Mongodb,Spring Aop,MongoTemplate类有一个嵌套类-QueryCursorPreparer。我的任务是拦截QueryCursorPreparer.getReadPreference()方法。我怎么能这样做?尝试执行此操作时: @Aspect @Component public class MongoInterceptor { @Around("execution(* org.springframework.data.mongodb.core.MongoTemplate.*(..))&quo

MongoTemplate类有一个嵌套类-QueryCursorPreparer。我的任务是拦截QueryCursorPreparer.getReadPreference()方法。我怎么能这样做?尝试执行此操作时:

@Aspect
@Component
public class MongoInterceptor {

  @Around("execution(* org.springframework.data.mongodb.core.MongoTemplate.*(..))")
  public Object intercept(ProceedingJoinPoint joinPoint) throws Throwable {
    System.out.println("TEST");
    return joinPoint.proceed();
  }
}

未截获任何内容

您是否配置了编译后编织?因为您试图建议第三方代码(您不拥有源代码)。也许这些可以帮助:


您最终想要实现什么?我的任务很简单,我想管理ReadPreference,而不是从存储库级别。例如,我希望Antation to RestController控制此执行线程中的内容,读取将通过辅助成员完成。为此,我想在MongoTemplate上编写一个拦截器,该拦截器将拦截getReadPreference方法并替换我需要的值,具体取决于该过程中注释的存在。@Dima,看了看Javadoc,该类似乎不是SpringBean/组件。这就解释了为什么不能使用SpringAOP特性来定位它。除非找到实现目标的其他方法,否则仍然可以切换到Spring控制的本机AspectJ并摆脱该限制。那你的相位就行了。