I did some badness today.
I wanted an integration test to check to see if my @Transactional method actually did rollback on an optimistic lock failure. It’s a pretty business critical method so I wanted to be sure that the whole @Transactional and @Version annotation voodoo actually works.
The approach I took was to inject, what I called a “slowRepository” into the object with the @Transactional method. The slowRepository is just a mockito mock of the object which “answers” (using “thenAnswer”) to the “findBy…” with some custom code.
The idea is that at some point during the @Transactional method the slowRepository is called and the “answer” code is invoked. In the test, the answer code follows along the lines of:
1. Grab the data it requires from the (not slow) repository (the repository the slowRepository is mocking)
2. Switch back the slowRepository for the not slow repository
3. Invoke the @Transactional method again on a separate thread
4. Sleep for a bit
5. Wake up and return the data from step 1
The @Transactional call on the separate thread completes and commits before slowRepository wakes up. When it does, slowRepository returns stale data and the @Transactional method then fails accordingly.
The problem I encountered was using the setters for my @Autowired dependencies on the bean with the @Transactional method. I needed to use the setters so that I could switch in and out the slowRepository, but couldn’t because Spring AOP proxies are implementations of an interface, not subclasses (by default – yes I realise you can get Spring to proxy the target class using CGLIB). I found this blog post which explains how to get at the target object behind a Spring proxy. I converted it to Scala:
…which is pretty ninja.
apostar cavalos
Here is my homepage – melhores grupos de apostas Desportivas (lettercolor.Com)
https://chatshala.in//doc/s/EHwa7jUDl
Казань всем привет Отец не выходит из штопора Жена в истерике В больницу тащить страшно Короче врачи приехали и поставили систему — прокапать от алкоголя на дому эффективно Сняли ломку и стабилизировали состояние В общем не потеряйте контакты — прокапать от алкоголя казань прокапать от алкоголя казань Звоните прямо сейчас Перешлите тем кто в такой же ситуации
https://pad.medialepfade.net/s/bmjUdrbGO
triumph hurdle betting
my web blog: free grand national bets existing customers
métodos casas de apostas Online em mocambique apostas
online
Здорова народ Ситуация критическая Родственники не знают что делать Нужна срочная помощь на дому Короче только это реально спасло — вывод из запоя в мытищах анонимно Сняли ломку и стабилизировали состояние В общем не потеряйте контакты — выведение из запоя цена мытищи https://vyvod-iz-zapoya-na-domu-moskva-snp.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации
https://hedgedoc.envs.net/s/Puy7DsM7x
método infalível Apostas De Desporto
https://paiza.io/projects/G3Y5p5RCJQLNChUtPGMvzw
probabilidades apostas
Also visit my web blog :: ganhar dinheiro aposta esportiva [Hulda]
baixar casas das esportiva top apostas (Samual)
https://md.darmstadt.ccc.de/s/8o1dbRIdr5
app de aposta esportiva
Have a look at my website: Valor das Apostas
apostas desportivas como ganhar valores
apostas hoje
Have a look at my site :: melhor aplicativo de aposta esportiva
https://pad.medialepfade.net/s/BecrAP9Tj
casas PróXimo Sistema De Apostas Online aposta saque pix
https://tutos.cemea.org/s/3Kt_NvDcd
Слушайте кто сталкивался Отец не выходит из штопора Жена в истерике Таблетки не помогают Короче врачи приехали и поставили систему — прокапаться от алкоголя казань с выездом Поставили капельницу с детоксикационным раствором В общем вся инфа по ссылке — прокапаться на дому казань прокапаться на дому казань Капельница от запоя — это реальный выход Перешлите тем кто в такой же ситуации
https://www.roton.com/forums/users/bfhrhvgdr7/
Люди помогите советом Муж просто потерял себя Родственники не знают что делать Таблетки не помогают Короче единственное что вытащило из запоя — прокапаться от алкоголя казань с выездом Поставили капельницу с детоксикационным раствором В общем телефон и цены тут — капельница от алкоголя казань капельница от алкоголя казань Не ждите пока станет хуже Перешлите тем кто в такой же ситуации
https://docs.meriales.ca/s/xBm65dUvA3
https://pad.eisfunke.com/s/qUiPFWxsAP
Здорова народ Муж просто потерял себя Родственники не знают что делать В больницу тащить страшно Короче единственное что вытащило из запоя — прокапаться от алкоголя на дому быстро Приехали через 40 минут В общем жмите чтобы сохранить — вывод из запоя дешево мытищи https://vyvod-iz-zapoya-na-domu-moskva-snp.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации
http://jobboard.piasd.org/author/tellsicj9202/
https://snippet.host/ioporp
https://docs.klg21.de/s/-4R88muqN
non runner no bet tips cheltenham
Here is my web-site Cesarewitch Betting
mercado baixar casas das apostas (Annie) esportivas
horse racing betting site racing betting not on gamstop uk
highest odds corners betting strategy
https://hedgedoc.sysnove.net/s/i5iyOvpQg
bookmakers euro 2026 italia
Feel free to visit my site :: migliori siti scommesse non aams
https://www.diggerslist.com/mondaynbe77/about
http://43.240.15.40/home.php?mod=space&uid=952729
Слушайте кто знает Муж просто потерял себя Жена в истерике Таблетки не помогают Короче только это реально спасло — откапаться на дому эффективно Приехали через 40 минут В общем вся инфа по ссылке — прокапаться от алкоголя на дому https://vyvod-iz-zapoya-na-domu-moskva-snp.ru Звоните прямо сейчас Перешлите тем кто в такой же ситуации
scommessa risultato esatto quote scommesse inghilterra italia spagna
https://vcook.jp/users/108545
tecnica Apostas Desportivas Online Internacional – Https://Clinicasamaniego.Com/Apostando-Em-Jogos-De-Tenis-Estrategias-Comprovadas/ – múltiplas
https://skilltecs.com/author/dragontvs05/
scandalo scommesse
my web-site; bookmakers euro 2026 italia (phenomenalpropertiesgj.com)
strictly score betting prediction (Bernadette) odds
https://paiza.io/projects/ozkGxT7mk_arsVMKETLU_g
https://hedgedoc.digilol.net/s/IihTpG_b6x
scommesse Vincente europei liga
https://vcook.jp/users/108134
apostar vôlei ao vivo
Also visit my site – como ganhar dinheiro nas apostas
(Chassidy)
gp betting mod apk (Alisa)
https://theexplorers.com/user?id=f52dcd78-e265-4caa-a1a8-180c2fa6f0ab