Necesito capturar una llamada al método en Java y no quiero usar JPDA o JDI; Quiero que suceda en la JVM original.Llamadas al método de captura en Java
Por ejemplo:
public class A {
public void m() {}
}
public class Main {
public static void main(String[] args) {
A a = new A();
a.m();
}
}
no quiero dejar que en realidad el método ejecutar en el momento, pero que capturarlo y programarlo en una cola. Por lo tanto, AOP no me ayudará en este sentido. Pensé en proxying el método. Algo como:
public class A {
public void m() {
methodQueue.add(new MethodInvocation() {
public void invoke() {m_orig();}
});
}
private void m_orig(){}
}
¿Alguna idea? Muchas gracias de antemano.
Sin embargo, esta excelente respuesta puede verse debilitada por el hecho de que, conceptualmente, los proxies ** son ** una implementación de AOP. – Riduidel