Как проверить метод транзакции, который является транзакционным для его одновременного использования (он обновляет строку базы данных, уменьшая значение)?Проверка одновременных вызовов на транзакционное обслуживание
У меня есть тестовый класс JUnit с SpringJunit4ClassRunner, а компоненты @autowired.
Просто нерестовые нити, которые будут вызывать метод, не работают. Я не уверен, связано ли это с механизмом прокси-сервера Spring.
То, что я хотел бы достичь, - создать ситуацию, когда одновременно два потока «внутри» тестируемого метода, а другой - сбой и откат. например Значение строки равно 3, и оба вызова метода пытаются уменьшить значение на 2; если метод не будет работать, значение будет равно -1, что является незаконным. Но я хочу, чтобы либо оба вызова выходили из строя, либо откатывались, либо не выполняли тот, который пытается обновить его мгновенно позже другого.
Возможно ли это?
Вы должны точно объяснить, что не работает при нерестах потоков. – tangens
Я либо получил исключение nullpointer в самом начале вызываемого метода (это был просто вызов частного метода), либо исключение из спящего режима, в котором говорилось, что таблица не существует, что было странно с тех же вызовов в методе тестирования, t работает нормально. – egaga