Cześć, nie jestem pewien czy jest to dobry dział, ale postanowiłem założyć temat tutaj.
Od sierpnia zaczynam uczyć się Vert.Xa oraz programowania asynchronicznego w praktyce a nie w teorii - nareszcie będzie trochę wolnego czasu po semestrze ;) Po kilkunastu godzinach czytania / oglądania prezentacji zauważyłem pewną rzecz. Ci wszyscy goście mówią jakie to jest fajne / ciekawe / inne - super, też się jaram, jednak albo to ja byłem bardzo nieuważny, albo ja poświęciłem na to zbyt mało czasu.
Do rzeczy - jak w aplikacjach opartych o rozwiązania "message driven" i różnych async frameworkach zapewnić spójność danych w razie failu ? Jestem tego świadomy, że to raczej nie przeznaczenie tychże frameworków, ale bardziej czegoś a'la DAO (Slick itp.) lub zwyczajnie nie potrafię sobie tego wyobrazić - jednej transakcji, która wykrzaczy się w razie wyjątku.
W Springu sprawa jest nadzwyczaj prosta - @Transactional lub programowo odpalamy transakcje. W modelu jednowątkowym wszystko jest proste.
Zatem pytanie moje brzmi - jak ogarnąć transakcje w aplikacjach opartych o chociażby Akke lub Vert.Xa ? A może ( i skłaniam się bardziej do tej wersji) - po prostu zła architektura i stos technologiczny skoro potrzebujemy transakcji ?