Ist feinkörnige Steuerung von aspectj-Autoproxy möglich im Frühjahr?
Frage
Wenn ich nur hinzufügen
Ich habe versucht, das AOP mit: scoped-Proxy Strophe in einem XML-Bohne Defintion für die Bohnen, die Proxies benötigen, aber es stellt sich heraus, das nicht AOP-Rat scheint mir zu geben
. Ich habe auch versucht hinzuzufügen.
Ich habe ein Los von Bohnen mit Schnittstellen, sondern nur eine (gut definiert) Handvoll braucht AoP Beratung, und die Proxys durcheinander meine stacktraces große Zeit in Anspruch. (Ich habe im Frühjahr spähte 3.0 und vermute, dass es dort möglich sein wird, aber es scheint, als ob es schon eine Weile weg ist).
Ist das möglich in 2.5.X?
Lösung
Wie in AbstractAdvisorAutoProxyCreator.java Linie 67 (Frühjahr 2.5.6), der Autoproxy-Schöpfer wirklich nur gesehen werden, das tut, was ich frage, es zu. Es ist nicht mehr, als es Autoproxy denkt notwendig.
Es stellt sich heraus, dass es die Art von pointcut Ausdruck ist man stark beeinflusst verwenden, wie viel diese Klasse Proxying tut; die Anmerkung Ich war mit war
@Around(value="@target(myannotation)")
Dies bedeutet im Grunde Feder einen Proxy erzeugt, die basierend auf der Art des eigentlichen Aufruf Ziel abfangen entscheidet. Die Kehrseite der Medaille ist, dass der Frühling versucht, dies zu tun mit alle verfügbar Bohnen in der Application. Hätte ich nicht innerhalb stattdessen so etwas wie @ verwendet, Feder würde die Schnittstelle verwenden, um zu entscheiden, ob autoproxying stattfinden sollte, und dies kann statisch zu dem Zeitpunkt bestimmt werden, die Application gebaut wird.
So, jetzt habe ich nur zwei Klassen, die Proxy-Klasse zugänglich sind;)