Dekuji za odpoved. Timto se to tedy trochu redukuje. Potrebuji tedy detekovat, zda jsem jiz v nejake transakci. Pokud ano, novou transakci neoteviram (pisete, ze pokus o zavolani neceho ve vytvorene UserTransakci by stejne skoncil s chybou). Pokud ne, otevru novou UserTransaction pokracuji dal s tim, ze beany jiz tuto transakci prevezmou.
Jak detekovat, ze prave (ne)bezim v transakci? Predpokladam, ze toto bude nejspise dost server-specificka zalezitost... Dekuji, Honza -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Behalf Of Stanislav Ošmera Sent: Monday, September 11, 2006 12:34 PM To: Java Subject: Re: Chovani UserTransaction v container-managed tx prostredi Jestlize mate na beane nastaveno required tak to proste znamena ze ta beana musi bezet v transakci. Kdyz je jiz nejaka transakce spustena at jiz userTransaction mebo containerrem nastartovana tak se spusti v teto transakci. Jestlize v transakci nebezi tak si spusti novou. Jeste muze byt nastaveno na: RequiresNew- nastartuje novou transakci bez ohledu na predchozi stav Mandatory- kdyz bezi v transakci tak v ni pokracuje, kdyz v transakci nebezi tak hodi vyjimku. ad2) kdyz vytvorite novou transakci tak je vzdy nova. Ted moc nechapu na co se ptate, ale "nekde v prubehu" nemuzete explicitne volat commit kdyz jsou ty beany zpracovavane containerem (jsou zakazany metody z javax.transaction.UserTransaction) tudiz ani v prubehu nemuzete ani tu UserTransaction vytvorit protoze jiz bezi v kontejnerem rizene transakci On 9/11/06, Moravec Jan <[EMAIL PROTECTED]> wrote: > > > 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?
