Frage

Wenn ich nur hinzufügen zu Beginn meiner Feder Zusammenhang jeder einzelnen Bohne, die eine Schnittstelle implementiert eines JDK-Proxy wird. Ich würde wirklich gerne die proxying A) Klassen beschränken, die tatsächlich Proxies oder B) Klassen müssen, die ich als um Proxies angeben.

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. am Ende meiner Feder XML-Datei, aber vor allem die Bohnen hinzufügen, die Proxies benötigen, aber es scheint nicht richtig funktioniert

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?

War es hilfreich?

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;)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top