Vra

As ek voeg net om die begin van my lente konteks, elke enkele boontjie wat implemente 'n koppelvlak kry 'n JDK proxy. Ek wil graag die proxying 'n beperking) te klasse wat eintlik gevolmagtigdes of B) klasse wat ek spesifiseer as nodig gevolmagtigdes nodig.

Ek het probeer om met behulp van die AOP: scoped-proxy strofe in 'n xml boontjie defintion vir die bone wat gevolmagtigdes nodig, maar dit blyk dat dit nie lyk vir my AOP-raad te gee

.

Ek probeer ook die toevoeging van. naby die einde van my lente xml lêer, maar voordat dit by al die bone wat gevolmagtigdes nodig, maar dit lyk nie of om behoorlik te werk

Ek het 'n lot van bone met koppelvlakke maar net 'n (goed gedefinieerde) handvol nodig AOP advies, en diegene gevolmagtigdes is geknoei my stacktraces big time. (Ek het loer by lente 3.0 en vermoed dit gaan daar moontlik wees, maar dit lyk asof dit 'n rukkie weg).

Is dit moontlik in 2.5.X?

Was dit nuttig?

Oplossing

Soos gesien kan word in AbstractAdvisorAutoProxyCreator.java lyn 67 (Lente 2.5.6), die autoproxy skepper doen eintlik net wat ek vra dit aan. Dit maak nie meer autoproxy as dit nodig ag.

Dit blyk dit is die soort van pointcut uitdrukking jy baie gebruik beïnvloed hoeveel volmag aan hierdie klas nie; die body Ek is met behulp van was

@Around(value="@target(myannotation)")

Dit beteken basies lente genereer 'n volmag wat besluit om te onderskep gebaseer op die tipe van die werklike aanroeping teiken. Die nadeel hiervan is dat die lente probeer om dit te doen met alle beskikbaar bone in die applicationcontext. As ek al met behulp van iets soos @ binne plaas, sal lente met behulp van die koppelvlak om te besluit of autoproxying moet plaasvind, en dit kan staties bepaal ten tye van die applicationcontext gebou is.

So nou het ek net twee klasse wat proxy;)

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top