[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