Java Transaction APIA Java Transaction API (röviden JTA) a Java EE egyik API-ja. Elosztott tranzakciókat lehet vele végrehajtani XA erőforrások felett. A JTA specifikációt a Java Community Process keretében fejlesztik a JSR 907 dokumentumban. A JTA két feladata a következő:
Az X/Open XA architektúraA tranzakciókezelő (angolul transaction manager, transaction processing monitor, vagy röviden TP monitor) koordinálja a tranzakciókat. Minden erőforrás saját erőforráskezelővel (resource manager) rendelkezik. Az erőforráskezelő jellemzően API-t biztosít az erőforrás felé, mint például a relációs adatbázisoknál a JDBC, a másik feladata pedig, hogy lehetővé tegye a tranzakciókezelő számára az elosztott tranzakciók koordinálását a saját erőforrása és más erőforrások között. Az alkalmazás kommunikál az egyes erőforrásokkal is azok API-jain keresztül, és kommunikál a tranzakciókezelővel is, ha tranzakciót kell kezdeményezni, érvényesíteni (commit) vagy visszagörgetni (rollback). Az X/Open XA architektúra JTA implementációjaA JTA API két java csomagból áll, nevezetesen
A JTA az X/Open XA architektúrára alapul, de két különböző API-t is definiál a tranzakciók elhatárolására. Az egyik interfész a A JTA architektúra minden erőforráskezelőtől megköveteli, hogy implementálja a
A JTA részeiA A tranzakciós kontextus propagációját a kliensen és a szerveren lévő tranzakciókezelő-implementációk végzik. A tranzakciós kontextus formátuma protokollfüggő, a kliens és a szerver hosztoknak kell egymással megtárgyalniuk. Például ha egy tranzakciókezelő a JTS specifikáció egy implementációja, akkor a CORBA OTS 1.1 specifikáció által definiált kontextuspropagációt fogja használni. A tranzakciók propagációja az alkalmazások szemszögéből átlátszó. UserTransaction támogatás EJB szerverekenAz EJB specifikáció is megköveteli a UserTransaction utx = getSessionContext().getUserTransaction();
utx.begin();
// Műveletek.
utx.commit();
UserTransaction támogatás a JNDI-benA UserTransaction a UserTransaction a Standard Edition-benNem kell feltétlenül alkalmazásszerver a JTA használatához. Léteznek független JTA implementációk, tehát „sima” java alkalmazásban is lehet JTA/XA. Külső hivatkozások |