ZAWWW-2st1.2-w04.tresc-1.0-Slajd27
BMT – Transakcje JTA
Transakcje, których granice są wyznaczane programowo przez komponent mogą być realizowane poprzez JTA lub JDBC. JTA (Java Transaction API) to interfejs programistyczny pozwalający aplikacji Java EE na wyznaczanie granic transakcji w sposób niezależny od konkretnej implementacji zarządcy transakcji w ramach serwera aplikacji.
Transakcje JTA są realizowane poprzez zasób UserTransaction, stanowiący interfejs do zarządcy transakcji. Schemat korzystania z transakcji JTA został pokazany na slajdzie. Znaczenie wyróżnionych fragmentów kodu jest następujące:
1. Wstrzyknięcie zasobu UserTransaction.
2. Rozpoczęcie transakcji poprzez wywołanie metody begin() na rzecz obiektu UserTransaction.
3. Zatwierdzenie transakcji poprzez wywołanie metody commit() na rzecz obiektu UserTransaction.
4. Wycofanie transakcji poprzez wywołanie metody rollback() na rzecz obiektu UserTransaction w wypadku przechwycenia wyjątku rzuconego przez kod transakcji. Operacja wycofywania transakcji też może rzucić wyjątek, więc została umieszczona w zagnieżdżonym bloku try.