G
Gast
Gast
Hallo,
Mein Problem:
Klasse Test:
Methode A ruft Methode B auf.
Ein Aspekt soll sowohl bei Methode A "triggern", als auch bei dem "verschachtelten" Aufruf von Methode B
Implementierung:
Resultat:
Aufruf Methode B "Hallo" (alles korrekt, d.h. der Pointcut funktioniert)
Aufruf Methode A: "Hallo" (erwartet wurde HalloHallo)
Debugger ergibt:
- Der Aspekt wird bei Aufruf von Methode B in A NICHT aufgerufen!
Erklaerung:
Die Methode B wird nicht auf dem Proxy aufgerufen, sondern auf dem "normalen" Object aufgerufen. (durch Debugger bestaetigt!)
Umgebung: Spring AOP 2.5
Meine Frage:
Kann man per AOP auch auf verschachtelte Methodenaufrufe (innerhalb einer Klasse) "zugreifen" oder nicht ?
Anmerkung:
Wenn ein Zugriff nicht moeglich ist, waere doch Logging per AOP fuer die Tonne oder nicht ?
Gruesse und danke fuer die Antworten im Vorraus
Mein Problem:
Klasse Test:
Methode A ruft Methode B auf.
Ein Aspekt soll sowohl bei Methode A "triggern", als auch bei dem "verschachtelten" Aufruf von Methode B
Implementierung:
Code:
@Component
@Aspect
public class LoggerAspect {
@Pointcut(value = "@annotation(utils.TestAnnotation)")
public void testPointCut() {
}
@Around(value = "testPointCut()")
public Object testBefore(ProceedingJoinPoint joinPoint) throws Throwable {
System.out.println("Hallo");
joinPoint.proceed(joinPoint.getArgs());
}
}
Resultat:
Aufruf Methode B "Hallo" (alles korrekt, d.h. der Pointcut funktioniert)
Aufruf Methode A: "Hallo" (erwartet wurde HalloHallo)
Debugger ergibt:
- Der Aspekt wird bei Aufruf von Methode B in A NICHT aufgerufen!
Erklaerung:
Die Methode B wird nicht auf dem Proxy aufgerufen, sondern auf dem "normalen" Object aufgerufen. (durch Debugger bestaetigt!)
Umgebung: Spring AOP 2.5
Meine Frage:
Kann man per AOP auch auf verschachtelte Methodenaufrufe (innerhalb einer Klasse) "zugreifen" oder nicht ?
Anmerkung:
Wenn ein Zugriff nicht moeglich ist, waere doch Logging per AOP fuer die Tonne oder nicht ?
Gruesse und danke fuer die Antworten im Vorraus