Zdravím,
v EJB 3 jsou interceptory pouze jako around advice. To znamená, že
můžete v interceptoru vykonávat kód před i po zavolání metody.
vše nejlépu ukáže následující příklad:
public class MyInterceptor {
| @AroundInvoke
|| public Object something(InvocationContext ic) throws Exception {
| zacatek();
Object result = ic.proceed();
konec();
return result;
}
}
Doufám, že jsem Vám pomohl.
Martin Rubeš
Ales Dostal napsal(a):
> Zdravim,
> momentalne pokoukavam po Interceptorech v EJB3.
> Pochopil jsem, ze po anotovani metody jako @Interceptors(class)
> nadefinuji, ze pred spustenim metody se provede nejaka jina "akce".
> Toto je super, ale existuje moznost, podle ktere bych nadefinoval, ze
> po ukonceni metody se take neco spusti?
> K cemu to potrebuji: Mam timer metodu, ktera mi spousti nejakou akci a
> ja potrebuji oznamit ze akce zacala a ze akce skoncila.
> Da se toto vyresit pomoci Inteceptoru?
> Zatim to resim tak, ze v metode volam zacatek a konec:
> public void spust(Timer timer) {
> zacatek();
> // akce....
> konec();
> }
>
> Samozrejme s anotaci
> @TransactionAttribute(value=TransactionAttributeType.NOT_SUPPORTED),
> jinak by se metody neprovedly nezavisle na akci, ale obe az nakonec.
>
>
> ________ Information from NOD32 ________
> This message was checked by NOD32 Antivirus System for Linux Mail
> Servers.
> http://www.eset.com
>