我试图在运行每个方法之前记录一个 Sting。
堆栈: AspectJ、GWT、Java 7、Eclipse Luna 的内置 Jetty Web 服务器
什么不起作用 我的建议是不要捕获 EntryPoint 类中重写的 onModuleLoad() 方法或其调用的任何方法。
什么有效 它确实捕获将页面提交到服务器后执行的方法。
pointcut everything() : execution(* *.*(..));
before() : everything()
{
System.out.println("Calling a method " + thisJoinPoint.getSignature());
}
最佳答案
onModuleLoad
方法由 GWT 编译器编译为 JavaScript - 它根本不在服务器上运行,而是在客户端浏览器中运行。 AspectJ 无法在 GWT 代码上工作(因为它无法在 JavaScript 上工作),因此这是行不通的。
关于java - AspectJ 未捕获所有方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27359368/