Ahoj,
Rad bych se
zeptal nejakeho J2EE znalce jak se chova UserTransaction v prostredi, kde
je pouzita fasada ze session beanu s container-managed transakcemi (vse
nastaveno na Required).
V podstate nastavaji
tyto dva pripady:
1) UserTransaction
vytvorim pred tim, nez se zavola metoda na session beanu (tj. pred tim, ze
container pripadne zalozi novou transakci)
2) UserTransaction
vytvorim az nekde za session beanem.
Otazky:
ad 1) Pouzije
session bean jiz existujici transakci (tj. moji UserTransaction), nebo vytvori
novou?
ad 2) Dostanu v
podobe UserTransaction novou transakci, nebo dostanu jiz existujici transakci?
Nekde jsem zahledl neco o tom, ze J2EE nepodporuje vnorovani transakci, takze
predpokladam, ze dostanu jiz existujici transakci. Nicmene, co kdyz na ni
explicitne zavolam commit a pak nekde dale behem dalsiho zpracovani vyhodim
runtime vyjimku s tim, ze chci rollback cele transakce. Provede se rollback i
toho co jsem jiz comittoval v UserTransaction?
V podstate mi jde o
implementaci udalostniho frameworku - aplikace v ruznych mistech (treba i na JSP
strankach, pripadne hloubeji za session facade) generuje udalosti. Tyto se
predavaji do registrovanych listeneru. Listener muze provadet cokoli (typicky
zapis do DB) a potrebuji zarucit, ze veskere zpracovani ve vsech listenerech
probehne v jedne transakci.
Diky moc za
osvetleni.
Honza
