spring transakcje

Odpowiedz Nowy wątek
2015-05-13 23:19
0

Witam

Mam kilka pytań na temat transakcji w springu. Domyślnie TransactionManager działa w oparciu o proxy i adnotacje, dodatkowo lokalne wywołania metod w tym samym beanie nie ignorują adnotacie Transactional, ponieważ nie ma wtedy wywołania metody poprzez proxy.

Zastanawiam się nad opcją "aspectJ" zamiast proxy. Jeśli ustawimy TransactionManager w tryp aspectJ wtedy jak rozumiem nie korzystamy z proxy tylko opakowanie metod w transakcje dokonuje się w trakcie kompilacji.

Czy wtedy wywołanie metod w tym samym beanie będzie respektowało ustawienia atrybutów transakcji? Jak rozumiem dzięki aspectJ nasze transakcje będą się wykonywać szybciej, ponieważ wszystko dodawane jest w czasie kompilacji zamiast proxy w runtime ? Czy są jeszcze jakieś ważne kwestie jeśli chodzi o ustawienie proxy vs aspectj ?

Chciałbym jak najbardziej przyspieszyć wywołania metod w ramach transakcji w springu. Czy ustawienie trybu aspectJ przyspieszy wywołania w ramach transakcji ?

Dziękuję ślicznie za odpowiedzi

Pozostało 580 znaków

2015-05-13 23:59
1

Ale ten narzut to jest ... wywołanie metody przez proxy obiekt, czy to taki wielki problem dla twojego giga-hiper wielkiego projektu ?

Szukaj oszczędności gdzie indziej, nie wiem, nie wywołuj czystych SQL'i, rób NamedQuery jak jpa używasz, czy coś.


"Perhaps surprisingly, concurrent programming isn’t so much about threads or
locks, any more than civil engineering is about rivets and I-beams."
edytowany 1x, ostatnio: niezdecydowany, 2015-05-14 00:00
Wiem ,że narzut jest ok 100ms - 200ms. Natomiast lepsze jest to, że metody w zakresie tego samego beana sprawdzają atrybut Transactional. - lukasw44 2015-05-14 08:44

Pozostało 580 znaków

2015-05-14 09:12
0

Jeżeli chodzi o problem z wywoływaniem metody z tej samej klasy i niełapanie transakcji ponieważ nie idzie to przez proxy, to prawdopodobnie wystarczy (i pewnie trzeba) zreflektować logikę. Jedno wywołanie metody z beana powinno być w transakcji całe, albo w ogóle, a nie tak jak piszesz, po części. Może warto rozbić to na 2 beany?

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0