我想使用 @Aspect
和 HandlerInterceptor
记录 Spring/Hibernate Web 应用程序中 HTTP 请求的(几乎)所有数据库 Activity 。
理想情况下,我可以将 @Aspect
@Around
调用包装到 java.sql.Statement.execute
,但由于该类是 Java并且可能不会使用相同的类加载器,我不得不选择第二好的。
我有一个@Aspect
,用于使用execution(* org.springframework.jdbc.core.JdbcOperations.*(String, ..))调用JdbcTemplate
切入点解释here ,但我还需要 Hibernate 调用的任何数据库 Activity 。
有人对此有建议吗?我愿意接受任何建议。
最佳答案
我的建议是使用AspectJ而不是Spring AOP。它在 Spring 应用程序中的使用已有详细记录。然后你将拥有完整的 AOP 能力,例如您可以使用 call()
切入点等,而不仅仅是 execution()
,将您的方面应用于非 Spring Bean 的类等。
关于java - 如何分析 Java Spring/Hibernate 应用程序中的所有数据库 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26635224/