[Javalist] Spring AOP advice nem fut
István Székely
istvan.szekely1 at gmail.com
2013. Okt. 4., P, 01:32:43 CEST
Hali!
Igen, ez kimaradt: <aop:aspectj-autoproxy proxy-target-class="true"/>
Tehát CGLIB-es proxy-k vannak. A többi rész is pont úgy van, ahogy mondod,
a() hívja b()-t, és mindkét metódus ugyanabban az osztályban van. Először
b() private volt, de aztán public-ot csináltam belőle, nehogy az legyen a
baj, de úgy sem megy.
[Van egy olyan forgatókönyv is, hogy b() absztrakt, és egy másik osztályban
van implementálva, és akkor sem működik.]
Nem emlékszel, mi volt a megoldás? A natív AspectJ-t kihagynám, ha lehet.
Üdv,
Stivi
2013. október 4. 0:11 Ize írta, <sicher at freemail.hu>:
> Hali!
>
> Nekem valamikor regen akkor volt ilyen problemam, ha a metodus osztalyon
> belulrol hivodott (hiaba volt public). Mitha osszefuggene a dolog a a
> proxy-based AOP-pal (tippem szerint ezt hasznalod).
> A public nem mindegy, mert a proxy-s csak azzal mukodik,
> private/protected-hez native AspectJ weaving kell.
>
> Udv.:
> Ize
>
>
> On 2013. 10. 03. 16:24, István Székely wrote:
>
> Sziasztok!
>
> Van egy annotációm, amit metódusok megjelölésére használok. Van egy
> Spring AOP-s aspect, ami úgy van megadva, hogy bizonyos csomagban és az
> alcsomagokban az annotációval megjelölt metódusokra fusson le egy @Around
> advice.
>
> Tehát valami ilyesmi:
>
> @Aspect
> public class A {
> @Pointcut("within(com.x.y.z..*) && @annotation(com.a.b.C)")
> public void p() {}
> @Around("p()")
> public void advice(...) { ... }
> }
>
> Adott egy osztály, amiben van két metódus, a() és b(), közvetlenül
> egymás alatt definiálva, és mindkettő public (bár ez talán mindegy is). Ha
> az annotációt a-ra teszem, akkor szépen lefut az advice, ha b-re, akkor
> pedig nem.
>
> Hogyan lehetséges ez, és főleg, mi a megoldás?
>
> Üdv
> Stivi
>
>
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20131004/0d0b447e/attachment.html>
További információk a(z) Javalist levelezőlistáról