Ne hibaztassuk az AOPt használó programozót azért mert adott AOP weaving technológia nem tud valamit. Nem hiba Servicebol magát hívni szerintem. <span></span><br><br>On Friday, October 4, 2013, István Viczián wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Már két cégnél is voltam még nagyon régen, ahol ez felvételi kérdés volt. :)<br>
--<br>
Viczián István<br>
<br>
<br>
Tamás Magyar <<a href="javascript:;" onclick="_e(event, 'cvml', 'magyusz@gmail.com')">magyusz@gmail.com</a>> írta (2013. október 4. 1:34):<br>
> AopContext.currentProxy()<br>
><br>
> 2013/10/4 István Székely <<a href="javascript:;" onclick="_e(event, 'cvml', 'istvan.szekely1@gmail.com')">istvan.szekely1@gmail.com</a>>:<br>
>> Hali!<br>
>><br>
>> Igen, ez kimaradt: <aop:aspectj-autoproxy proxy-target-class="true"/><br>
>><br>
>> Tehát CGLIB-es proxy-k vannak. A többi rész is pont úgy van, ahogy mondod,<br>
>> a() hívja b()-t, és mindkét metódus ugyanabban az osztályban van. Először<br>
>> b() private volt, de aztán public-ot csináltam belőle, nehogy az legyen a<br>
>> baj, de úgy sem megy.<br>
>> [Van egy olyan forgatókönyv is, hogy b() absztrakt, és egy másik osztályban<br>
>> van implementálva, és akkor sem működik.]<br>
>><br>
>> Nem emlékszel, mi volt a megoldás? A natív AspectJ-t kihagynám, ha lehet.<br>
>><br>
>> Üdv,<br>
>> Stivi<br>
>><br>
>><br>
>> 2013. október 4. 0:11 Ize írta, <<a href="javascript:;" onclick="_e(event, 'cvml', 'sicher@freemail.hu')">sicher@freemail.hu</a>>:<br>
>><br>
>>> Hali!<br>
>>><br>
>>> Nekem valamikor regen akkor volt ilyen problemam, ha a metodus osztalyon<br>
>>> belulrol hivodott (hiaba volt public). Mitha osszefuggene a dolog a a<br>
>>> proxy-based AOP-pal (tippem szerint ezt hasznalod).<br>
>>> A public nem mindegy, mert a proxy-s csak azzal mukodik,<br>
>>> private/protected-hez native AspectJ weaving kell.<br>
>>><br>
>>> Udv.:<br>
>>> Ize<br>
>>><br>
>>><br>
>>> On 2013. 10. 03. 16:24, István Székely wrote:<br>
>>><br>
>>> Sziasztok!<br>
>>><br>
>>> Van egy annotációm, amit metódusok megjelölésére használok. Van egy Spring<br>
>>> AOP-s aspect, ami úgy van megadva, hogy bizonyos csomagban és az<br>
>>> alcsomagokban az annotációval megjelölt metódusokra fusson le egy @Around<br>
>>> advice.<br>
>>><br>
>>> Tehát valami ilyesmi:<br>
>>><br>
>>> @Aspect<br>
>>> public class A {<br>
>>> @Pointcut("within(com.x.y.z..*) && @annotation(com.a.b.C)")<br>
>>> public void p() {}<br>
>>> @Around("p()")<br>
>>> public void advice(...) { ... }<br>
>>> }<br>
>>><br>
>>> Adott egy osztály, amiben van két metódus, a() és b(), közvetlenül egymás<br>
>>> alatt definiálva, és mindkettő public (bár ez talán mindegy is). Ha az<br>
>>> annotációt a-ra teszem, akkor szépen lefut az advice, ha b-re, akkor pedig<br>
>>> nem.<br>
>>><br>
>>> Hogyan lehetséges ez, és főleg, mi a megoldás?<br>
>>><br>
>>> Üdv<br>
>>> Stivi<br>
>><br>
>><br>
>><br>
>> _______________________________________________<br>
>> Javalist mailing list<br>
>> <a href="javascript:;" onclick="_e(event, 'cvml', 'Javalist@lists.javaforum.hu')">Javalist@lists.javaforum.hu</a><br>
>> <a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
>><br>
> _______________________________________________<br>
> Javalist mailing list<br>
> <a href="javascript:;" onclick="_e(event, 'cvml', 'Javalist@lists.javaforum.hu')">Javalist@lists.javaforum.hu</a><br>
> <a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
_______________________________________________<br>
Javalist mailing list<br>
<a href="javascript:;" onclick="_e(event, 'cvml', 'Javalist@lists.javaforum.hu')">Javalist@lists.javaforum.hu</a><br>
<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" target="_blank">http://lists.javaforum.hu/mailman/listinfo/javalist</a><br>
</blockquote><br><br>-- <br>Sent from Gmail Mobile<br>