ZAWWW-2st1.2-w12.tresc-1.0-Slajd28

Z Studia Informatyczne
Wersja z dnia 19:32, 28 sie 2006 autorstwa Juliusz Jezierski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Transakcje w Spring

Transakcje w Spring


Architektura Spring oferuje bogaty wachlarz możliwości przetwarzania transakcyjnego wewnątrz aplikacji. Wybór dotyczy zarówno rodzaju, sposobu demarkacji, oraz sposobu propagacji transakcji. Podstawowym mechanizmem obsługi transakcji jest interfejs PlatformTransactionManager, dla którego istnieje całe mnóstwo implementacji, np. DataSourceTransactionManager, HibernateTransactionManager, JdoTransactionManager, JmsTransactionManager, JtaTransactionManager, PersistenceBrokerTransactionManager, TopLinkTransactionManager, WebLogicJtaTransactionManager. W zależności od wybranej implementacji system zarządzania transakcjami będzie się zachowywał jak JTA, Hibernate, JDO lub JDBC. Alternatywnie, można także wykorzystać gotową klasę pomocniczą TransactionTemplate oferującą metody przetwarzania transakcyjnego. Klasa ta jest bardzo przydatna w przypadku pracy ze źródłami danych, które nie są transakcyjne. Bardzo wygodnym rozwiązaniem jest deklaratywne zarządzanie transakcjami. Przypomina ono rozwiązanie stosowane w EJB, gdzie za pomocą metadanych i adnotacji w pliku konfiguracyjnym można określić granice i cechy poszczególnych transakcji. W przypadku architektury Spring zarządzanie transakcjami może być bardzo efektywnie zrealizowane za pomocą programowania aspektowego. Stąd, Spring API zawiera predefiniowany obiekt-proxy i interceptor transakcji, za pomocą których można łatwo wykorzystać paradygmat programowania aspektowego. Wykorzystanie architektury Spring do zarządzania ma też dodatkowy pozytywny skutek, transakcje lokalne i globalne są widziane dokładnie tak samo.


<< Poprzedni slajd | Spis treści | Następny slajd >>