Integration testing transactions and optimistic locking with Spring and JUnit

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.

22,448 thoughts on “Integration testing transactions and optimistic locking with Spring and JUnit

  1. Мы долго не хотели признавать что это болезнь. Мой брат всегда был уверенным в себе человеком. Мы пробовали искать выход читали форумы звонили в разные клиники. круглосуточный стационар в СПб — это было то что мы так долго искали. Его госпитализировали врачи провели полное обследование. Он снова начал работать общаться с нами улыбаться. И это помогло сохранить его репутацию и достоинство. Всё было честно и прозрачно. И я знаю что это благодаря клинике. скорая наркологическая помощь круглосуточно https://alkogolizm.narkologicheskaya-klinika-v-spb14.ru Это может спасти жизнь для северной столицы. Промедление может стоить слишком дорого. Сделайте первый шаг к выздоровлению уже сегодня — он может изменить всё

  2. Мы поняли что справиться сами не сможем. Она боится врачей и отказывается выходить из дома. Соседка рассказала что есть психиатры которые приезжают на дом. помощь пожилому человеку — это было именно то что нам нужно. Назначил лечение дал рекомендации нам родственникам. Мы снова можем спать и не бояться за неё. Рекомендую всем кто столкнулся с подобной ситуацией. услуги психиатра на дому https://psikhiatr-na-dom-v-moskve-pks.ru Там все контакты и условия для Москвы. Не мучайте близких и себя — вызовите психиатра на дом.

  3. Когда он перестал выходить из дома и узнавать нас. Бросил работу перестал общаться с друзьями. Каждый раз всё глубже уходя в зависимость. Почитали отзывы сравнили условия. круглосуточная помощь в СПб — то что спасло нашу семью. Каждый день он делал маленькие шаги к выздоровлению. Мы снова узнавали в нём отца которого любили. Мы сказали соседям и коллегам что он был в санатории. Деньги не были потрачены зря. Мы снова вместе и я благодарен врачам. круглосуточная наркологическая клиника круглосуточная наркологическая клиника Там все контакты и условия для нашего города. Звоните узнавайте действуйте. Верните близкого человека к жизни — начните с одного звонка

  4. Когда его глаза были мутными а руки тряслись. Мы пытались звонить в скорую но они сказали: «Только если он сам захочет». Случайно наткнулся на сайт где предлагали вывод из запоя на дому. срочная детоксикация — это было единственное что помогло. Через пару часов он открыл глаза и улыбнулся. Брат уснул спокойным сном. нарколог на дом для вывода из запоя https://vyvod-iz-zapoya-v-irkutske.ru Сохраните поделитесь не потеряйте для области. Звоните помогайте спасайте. Вывод из запоя — это реальность и она работает

  5. Мы поняли: нужна помощь психиатра но везти его в клинику было невозможно. Мы не могли его уговорить а состояние ухудшалось. Позвонил в службу где работают психиатры с выездом на дом. выезд врача-психиатра в Москве — это сняло наш стресс. Дал рекомендации нам родственникам. Анонимно без лишней бюрократии. Теперь дедушка спокойнее ночи стали нормальными. услуги психиатра на дому https://psikhiatr-na-dom-v-moskve-dzf.ru Сохраните поделитесь не потеряйте для Москвы. Если ваш близкий нуждается в психиатрической помощи но не может или не хочет ехать в клинику — вызовите врача на дом.

  6. Но алкоголь оказался сильнее и мой брат просто ушёл в запой. Дни сливались в один бесконечный кошмар. Где не просто «кодируют» а лечат комплексно. профессиональный центр лечения зависимостей — это было то что нам было нужно. Каждый день он работал над собой под контролем специалистов. Он вышел другим человеком — спокойным осознанным. Никто из соседей и коллег не узнал. Цена оказалась адекватной. Сейчас брат не пьёт уже больше года. центр наркологической помощи https://zapoy.narkologicheskaya-klinika-sankt-peterburg14.ru По ссылке — подробная информация для северной столицы. Помощь есть и она рядом. Начните путь к выздоровлению уже сегодня — ваш близкий заслуживает второго шанса

  7. Когда уговоры не работают а скандалы только ухудшают ситуацию — единственный выход — профессиональная помощь. А через пару лет уже не мог без них прожить и дня. Мы пытались спасти его сами. И это был лучший выбор в нашей жизни. реабилитация алкоголиков и наркозависимых — здесь не просто лечат а возвращают к жизни. Он работал с психологами ходил на групповые занятия учился жить трезво. Анонимность поддержка профессионализм. алкоголизм реабилитационный центр нижний новгород алкоголизм реабилитационный центр нижний новгород Там все контакты и условия для нашего города. Реабилитация работает и это доказано сотнями спасённых жизней. Первый шаг к выздоровлению — признать проблему и обратиться к профессионалам

  8. Он просто забирает человека и ты не можешь ничего сделать. А потом просто ушёл в запой и перестал выходить из дома. Но всё было бесполезно — он не слышал нас. Тогда мы начали искать клинику где его могли бы принять. анонимная госпитализация в Москве — то что вернуло брата к жизни. И через месяц мы увидели результат. Мы снова узнавали в нём того кого любили. Только помощь и поддержка. Мы заплатили за полный курс. Огромное спасибо врачам за их труд. наркологическая клиника москва платная наркологическая клиника москва платная Это может пригодиться в трудный момент для Москвы. Если вы оказались в похожей ситуации — не ждите. Не бойтесь просить о помощи — это первый шаг к выздоровлению

  9. Решили обновить жильё — что хочется больше пространства. Надеялись на быстрый ремонт — а оказалось что без документов никак. Стали изучать вопрос — и поняли что это отдельная наука. Хорошо что нашли компанию — проектирование и узаконивание в столице. Всё сделали по уму — без лишней беготни. Цены адекватные. Теперь можно спать спокойно. согласование перепланировки помещений https://moskva.pereplanirovka-kvartir-byn.ru Пригодится если соберётесь переделывать для МСК. Если планируете перепланировку — не тяните. И наслаждайтесь обновлённой квартирой

  10. IPTV Smarters Pro Open the Camera app or other QR code scanning app. Create and edit video forYouTube DVD HD and more Supported Video Formats If you want to learn how to edit videos faster and more efficiently in any video editor check out our free PDF guide The Primal Video Method. It’s the ultimate process to help you streamline your video editing workflow and minimize wasted time Magic clips Editing like GDoc Captions for videos It is getting better and better.Happy to be a customer. PowerDirector 16 has both timeline and storyboard editing layouts but if you’re doing heavy-duty work you’ll stick to timeline. This creates a familiar multi-layer timline that you can drag video and audio onto. You can easily move videos around add transitions and clip together the general skeleton of your work. This is pretty standard for video editors that are industry standard but isn’t common in video editors from the Microsoft Store. Having a timline layout makes it easy to create multi-layered and multi-cut videos. https://pubhtml5.com/homepage/drnmt/ All-in-all whichever video editing app you choose to use video content creation is an important part of a diverse social media content plan. Videos have been doing incredibly well in terms of engagement and reach over the last few years including in paid social media advertising campaigns as well. If you’re struggling with creating video content even with these excellent apps available get in touch to see how we can help you with your video marketing. If you’ve already checked out our Best Video Editing Software roundups you’ll know there are a TON of options out there to help you create quality videos.  Whether you’re editing on Mac PC iPhone or Android – you have so many video editors to choose from.  Absolutely Apps like Promeo and InShot are great for creating professional-looking promotional videos product demos and marketing content. Many free apps offer templates and tools designed for business purposes.

  11. Our main goal was to find apps that gave better control and good results. We paid attention to how easy the editing process felt how good the final videos looked and whether the app could handle more advanced editing. Some apps were fine for short TikToks and Reels but had problems when we tried to do more with them. We also checked how fast the apps loaded how well AI tools worked and if there were any watermarks on the videos. KineMaster is a go-to video editing app for Android users. It’s already popular among novice YouTube creators looking for vlog editing. The powerful features make it suitable for various projects including animation slideshows and chroma key videos. However the free version of the app places a prominent watermark on your videos. CapCut is banned in countries like India due to privacy concerns. https://forums.wolflair.com/members/karysimpsons.162961/#about Animate famous historical personalities and watch them come to life in your videos. A fun way to blend history with modern tech AI Video Generator Tired of competing for viewers’ attention on social media? Stand out by turning your photos into dynamic videos. VEED’s AI image-to-video generator breathes life into your photos. No video editing skills required. Simply upload your image describe the movement you want to see and generate a video. All of this comes together in a new section of the app called the Create tab which will serve as a hub for these tools and any other AI features Google may release in the months ahead. In the near term it will include the Photo to Video and Remix features alongside the existing collage and highlight video creators. But as Veo gets smarter and Google’s confidence grows the possibilities could expand into any number of AI enhancements such as extended video clips voiceovers or multi-image stories.

  12. Состояние пациента отслеживается на каждом этапе от первичной консультации до дальнейших рекомендаций. Подробнее – vyvod-iz-zapoya-kapelnica

  13. Когда близкий человек оказывается в зависимости — единственный выход — профессиональная помощь. Мой брат начал с «лёгких» наркотиков. Мы пытались спасти его сами. Честно говоря мы уже не верили что это поможет. Реабилитационный центр для наркозависимых — здесь возвращают человека в семью и в общество. Мы снова увидели того кого потеряли. Всё что нужно для реального выздоровления. реабилитационный центр для алкоголиков нижний новгород https://reabilitaczionnyj-czentr-nizhniy-novgorod.ru Сохраните поделитесь не потеряйте для Нижнего Новгорода. Реабилитация работает и это доказано сотнями спасённых жизней. Сделайте его сегодня

  14. Врачебная практика показывает что инфузионная терапия помогает значительно облегчить состояние пациента. Капельницы обеспечивают постепенное поступление лекарственных веществ в кровь благодаря чему достигается стабильный терапевтический эффект. При этом состав растворов подбирается индивидуально с учётом состояния пациента. Подробнее – цитофлавин капельница

  15. Алкоголизм — это болезнь которая не щадит никого. Но очень быстро переросло в зависимость. Мы поняли: нужна профессиональная помощь. Мы начали искать клинику в Санкт-Петербурге. круглосуточная помощь в Санкт-Петербурге — то что реально помогло сестре. Она работала с психологом каждый день. Она стала спокойнее начала улыбаться. Мы сказали всем что она уезжала в санаторий. Мы заплатили за полный курс. Сейчас сестра не пьёт уже больше года. скорая наркологическая помощь круглосуточно https://alkogolizm.narkologicheskaya-klinika-sankt-peterburg14.ru Это может спасти жизнь для северной столицы. Промедление может стоить слишком дорого. Путь к выздоровлению начинается с первого шага — сделайте его сегодня

  16. Ситуация была аховая. Я позвонил объяснил ситуацию. Не верил что такое возможно. срочная детоксикация — это дало нам второго шанса. Всё честно и без обмана. заказать вывод из запоя на дому https://vyvod-iz-zapoya-v-irkutske-gcb.ru Там все контакты и цены для нашего города. Если ваш близкий в запое — не ждите. Вывод из запоя — это реальность и она работает

  17. Но алкоголь не разбирает кто ты и сколько тебе лет. Но после развода он начал пить всё больше и больше. Мы поняли что без профессиональной помощи не обойтись. И решили что это наш шанс. клиника с круглосуточным наблюдением — то что вернуло брата к жизни. Врачи провели детоксикацию назначили терапию. Он начал искать работу общаться с нами. Только помощь и поддержка. Всё было прозрачно и честно. Огромное спасибо врачам за их труд. лечение алкоголизма в москве стационар https://alkogolizm.narkologicheskij-staczionar-moskva-guj.ru Сохраните поделитесь не потеряйте для нашего города. Если вы оказались в похожей ситуации — не ждите. Не бойтесь просить о помощи — это первый шаг к выздоровлению

  18. Что уговоры и скандалы помогут. Дни сливались в один бесконечный кошмар. Кто-то советовал одно кто-то другое. круглосуточный стационар в Санкт-Петербурге — это было то что нам было нужно. И через месяц мы увидели результат. Это было настоящее чудо. Только помощь и поддержка. Мы заплатили за результат а не за обещания. Он работает общается с нами строит планы. скорая наркологическая помощь спб https://zapoy.narkologicheskaya-klinika-sankt-peterburg14.ru По ссылке — подробная информация для Санкт-Петербурга. Помощь есть и она рядом. Начните путь к выздоровлению уже сегодня — ваш близкий заслуживает второго шанса

  19. Пришло время перемен — что надо объединить комнаты. Хотели всё сами — что Москва не прощает самодеятельность. Стали изучать вопрос — что лучше довериться профессионалам. Повезло с исполнителями — полный комплекс работ в столице. И бумаги собрали — без лишней беготни. Всё законно и красиво. Никаких штрафов и переделок. согласуем перепланировку квартиры https://moskva.pereplanirovka-kvartir-byn.ru По ссылке — подробная информация для Москвы. Если планируете перепланировку — не тяните. Доверьтесь тем кто знает все нюансы

  20. Неделю не появлялся не отвечал на звонки. Я позвонил объяснил ситуацию. Поставил капельницу. выезд нарколога в Москве — это спасло человека. Анонимно без учёта. запой нарколог дом https://vyvod-iz-zapoya-v-moskve-rwt.ru По ссылке — подробная информация для нашего города. Каждый час на счету. Вывод из запоя — это реальность и она работает

  21. Когда запой затягивается а человек теряет контроль над собой. Он перестал ходить на работу общаться с друзьями. Он срывался снова начинал пить. Перечитали кучу отзывов обзвонили несколько центров. лечение алкоголизма в стационаре — то что спасло нашу семью. И постепенно начал возвращаться к нормальной жизни. Он снова стал тем кем был раньше. Никаких учётов и справок. Мы заплатили за результат а не за обещания. И я благодарен врачам за их труд. наркологическая клиника со стационаром наркологическая клиника со стационаром Там все контакты и условия для Москвы. Если вы столкнулись с похожей ситуацией — не ждите. Сделайте шаг к спасению близкого человека

  22. Неделю не появлялся не отвечал на звонки. Но кто-то из общих знакомых дал телефон врача. Врач приехал осмотрел его. срочная детоксикация — это дало нам второго шанса. Цена оказалась ниже чем я думал. вызов нарколога для вывода из запоя https://vyvod-iz-zapoya-v-krasnoyarske-lno.ru Сохраните поделитесь не потеряйте для Красноярска. Звоните помогайте спасайте. Вывод из запоя — это реальность и она работает

  23. Когда близкий человек оказывается в зависимости — единственный выход — профессиональная помощь. А через пару лет уже не мог без них прожить и дня. Но он срывался снова и снова. Честно говоря мы уже не верили что это поможет. реабилитация алкоголиков и наркозависимых — здесь не просто лечат а возвращают к жизни. Он работал с психологами ходил на групповые занятия учился жить трезво. Они действительно спасают людей. лечение зависимости нижний новгород лечение зависимости нижний новгород По ссылке — подробная информация для Нижнего Новгорода. Реабилитация работает и это доказано сотнями спасённых жизней. Первый шаг к выздоровлению — признать проблему и обратиться к профессионалам

  24. Мы пытались с ней говорить уговаривали даже запирали дома. Она перестала есть похудела пропадали из дома вещи. Пока один из знакомых не сказал: «Вези её в Нижний Новгород там есть реабилитационный центр». Реабилитационный центр для наркозависимых — это было наше последнее решение и оно оказалось верным. В центре она прошла полный курс реабилитации. Сегодня она чиста у неё есть работа планы она снова улыбается. реабилитационный центр для наркозависимых нижний новгород реабилитационный центр для наркозависимых нижний новгород Это может спасти жизнь для нашего города. Если зависимость коснулась вашей семьи — не ждите действуйте сейчас

  25. Миссия клиники заключается в предоставлении качественной помощи людям страдающим от различных зависимостей. Мы понимаем что зависимость — это заболевание требующее комплексного подхода. В Клиника Наркологии и Психотерапии мы стремимся создать атмосферу доверия где каждый пациент может открыто говорить о своих проблемах получая поддержку от опытных специалистов. Наша команда предлагает лечение основанное на научных данных и современных методах что позволяет достигать высоких результатов. Подробнее тут – https://alko-konsultaciya.ru/vivod-iz-zapoya-cena-v-smolenske/

  26. Но алкоголь забирал его день за днём и мы теряли надежду. Мы не знали как его вернуть. И мы уже почти сдались когда нам посоветовали одну клинику в Санкт-Петербурге. лечение алкоголизма в клинике — то что вернуло брата к жизни. Он работал с психологом посещал групповые занятия. Через два месяца он вышел из клиники — с ясными глазами и новыми целями. И это помогло сохранить его репутацию и достоинство. Никаких скрытых платежей. Сейчас брат не пьёт уже больше года. лечение алкоголизма в санкт петербурге лечение алкоголизма в санкт петербурге По ссылке — подробная информация для Санкт-Петербурга. Помощь есть и она рядом. Сделайте первый шаг к выздоровлению уже сегодня — он может изменить всё

  27. Неделю не появлялся не отвечал на звонки. Мне ответили: «Выезжаем через час». Врач приехал осмотрел его. выезд нарколога в Иркутске — это дало нам второго шанса. Цена оказалась ниже чем я думал. помощь при запое на дому https://vyvod-iz-zapoya-v-irkutske-gcb.ru По ссылке — подробная информация для Иркутска. Звоните помогайте спасайте. Вывод из запоя — это реальность и она работает

  28. Мы просто не знали как ему помочь. Каждый день мы ждали что он одумается. В отчаянии мы начали искать профессиональную помощь. лечение алкоголизма и наркомании — здесь он прошёл полный курс восстановления. Огромное спасибо врачам и психологам. лечение зависимости нижний новгород лечение зависимости нижний новгород По ссылке — подробная информация для области. Промедление может стоить слишком дорого. Помощь есть и она рядом

  29. Алкоголизм — это болезнь которая не щадит никого. Сначала это казалось способом справиться с болью. И каждый раз становилось только хуже. Где помогают а не просто «ставят на учёт». лечение алкоголизма в клинике — это было лучшее решение которое мы приняли. Она работала с психологом каждый день. Мы снова стали семьёй. Никто из знакомых не узнал о её лечении. Цена оказалась адекватной учитывая масштаб проблемы. И я знаю что это благодаря клинике. круглосуточная наркологическая клиника круглосуточная наркологическая клиника Там все контакты и условия для нашего города. Промедление может стоить слишком дорого. Путь к выздоровлению начинается с первого шага — сделайте его сегодня

  30. Когда ты видишь как он разрушает себя и не можешь остановить — единственный выход — профессиональная помощь. Мы просто наблюдали как он угасает. Но он срывался снова и снова. И это был лучший выбор в нашей жизни. Реабилитационный центр для наркозависимых — здесь возвращают человека в семью и в общество. Мы снова увидели того кого потеряли. Всё что нужно для реального выздоровления. реабилитационные центры для наркозависимых https://reabilitaczionnyj-czentr-nizhniy-novgorod.ru По ссылке — подробная информация для Нижнего Новгорода. Реабилитация работает и это доказано сотнями спасённых жизней. Сделайте его сегодня

  31. Курение многие не считают серьезной проблемой но на самом деле это одна из самых трудноискоренимых привычек. В центре разработаны программы позволяющие отказаться от сигарет без мучительной ломки и срывов. Используются как медикаментозные методы так и психотерапевтические техники. Особенно эффективно кодирование гипнозом которое помогает перепрограммировать подсознание и выработать отвращение к табаку. Пациенты отмечают что после сеансов меняется само восприятие курения — оно перестает казаться необходимым атрибутом жизни. Узнать больше – наркологическая помощь

  32. Капельница от запоя в Москве применяется как один из методов медицинской помощи при алкогольной интоксикации выраженном похмельном и абстинентном синдроме. В центре «Триумф» лечение проводится анонимно: нарколог оценивает состояние человека уточняет продолжительность запоя количество выпитого наличие хронических заболеваний особенности приема лекарственных средств и только после осмотра определяет состав инфузии. Медицинская помощь может оказываться на дому либо в стационаре клиники если требуется более интенсивная детоксикация и постоянный контроль специалистов. Подробнее – капельница от запоя на дому цена москва

  33. Наконец-то дошли руки — что планировка не устраивает. Думали что всё просто — а оказалось что без документов никак. Почитали форумы — что можно нарваться на штраф. Попали к толковым ребятам — согласование перепланировки в нашем городе. И бумаги собрали — без лишней беготни. Всё законно и красиво. Теперь можно спать спокойно. перепланировка квартир перепланировка квартир Там все контакты и условия для столицы. Бюрократия не ждёт. Доверьтесь тем кто знает все нюансы

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>