├── .github └── workflows │ └── maven-build-and-test.yml ├── .gitignore ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── .temp ├── Dockerfile ├── README.md ├── docker-compose.yaml ├── mvnw ├── mvnw.cmd ├── pom.xml ├── src ├── main │ ├── java │ │ └── br │ │ │ └── com │ │ │ └── stackspot │ │ │ └── nullbank │ │ │ ├── Application.java │ │ │ ├── shared │ │ │ ├── hibernate │ │ │ │ └── AdvisoryLockSqlFunctionsBuilderContributor.java │ │ │ └── lockmanager │ │ │ │ ├── LockKey.java │ │ │ │ └── PostgresLockManager.java │ │ │ └── withdrawal │ │ │ ├── Account.java │ │ │ ├── AccountRepository.java │ │ │ ├── AtomicUpdateWithCheckConstraintATMService.java │ │ │ ├── AtomicUpdateWithPostValidationATMService.java │ │ │ ├── AtomicUpdateWithReturningClauseATMService.java │ │ │ ├── AtomicUpdateWithWhereClauseATMService.java │ │ │ ├── NaiveATMService.java │ │ │ ├── NaiveAtomicUpdateATMService.java │ │ │ ├── NaiveJavaSynchronizedATMService.java │ │ │ ├── NaiveNonTransactionalATMService.java │ │ │ ├── PessimisticLockingATMService.java │ │ │ ├── PessimisticLockingWithAdvisoryLockInQueryATMService.java │ │ │ ├── PessimisticLockingWithAdvisoryLockInSmartQueryATMService.java │ │ │ ├── PessimisticLockingWithNoWaitLockATMService.java │ │ │ ├── PessimisticLockingWithReadLockATMService.java │ │ │ ├── PostgresAdvisoryLockATMService.java │ │ │ ├── RepeatableReadIsolationLevelATMService.java │ │ │ ├── SerializableIsolationLevelATMService.java │ │ │ ├── Transaction.java │ │ │ ├── TransactionRepository.java │ │ │ └── optimisticlocking │ │ │ ├── OptAccount.java │ │ │ ├── OptAccountRepository.java │ │ │ ├── OptTransaction.java │ │ │ ├── OptTransactionRepository.java │ │ │ └── OptimisticLockingATMService.java │ └── resources │ │ ├── META-INF │ │ └── services │ │ │ └── org.hibernate.boot.model.FunctionContributor │ │ └── application.yaml └── test │ ├── java │ └── br │ │ └── com │ │ └── stackspot │ │ └── nullbank │ │ ├── base │ │ └── SpringBootIntegrationTest.java │ │ ├── misc │ │ ├── BookRequest.java │ │ ├── BookRequestPropertyBasedTest.java │ │ └── BookRequestTest.java │ │ └── withdrawal │ │ ├── AtomicUpdateWithCheckConstraintATMServiceTest.java │ │ ├── AtomicUpdateWithPostValidationATMServiceTest.java │ │ ├── AtomicUpdateWithReturningClauseATMServiceTest.java │ │ ├── AtomicUpdateWithWhereClauseATMServiceTest.java │ │ ├── NaiveATMServiceTest.java │ │ ├── NaiveAtomicUpdateATMServiceTest.java │ │ ├── NaiveJavaSynchronizedATMServiceTest.java │ │ ├── NaiveNonTransactionalATMServiceTest.java │ │ ├── PessimisticLockingATMServiceTest.java │ │ ├── PessimisticLockingWithAdvisoryLockInQueryATMServiceTest.java │ │ ├── PessimisticLockingWithAdvisoryLockInSmartQueryATMServiceTest.java │ │ ├── PessimisticLockingWithNoWaitLockATMServiceTest.java │ │ ├── PessimisticLockingWithReadLockATMServiceTest.java │ │ ├── PostgresAdvisoryLockATMServiceTest.java │ │ ├── RepeatableReadIsolationLevelATMServiceTest.java │ │ ├── SerializableIsolationLevelATMServiceTest.java │ │ └── optimisticlocking │ │ └── OptimisticLockingATMServiceTest.java │ └── resources │ └── application-test.yaml ├── stk.yaml └── test-suit-preventing-lost-update-anomaly.png /.github/workflows/maven-build-and-test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/.github/workflows/maven-build-and-test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/.gitignore -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /.temp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/Dockerfile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/docker-compose.yaml -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/mvnw -------------------------------------------------------------------------------- /mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/mvnw.cmd -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/Application.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/Application.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/shared/hibernate/AdvisoryLockSqlFunctionsBuilderContributor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/shared/hibernate/AdvisoryLockSqlFunctionsBuilderContributor.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/shared/lockmanager/LockKey.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/shared/lockmanager/LockKey.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/shared/lockmanager/PostgresLockManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/shared/lockmanager/PostgresLockManager.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/Account.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/Account.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/AccountRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/AccountRepository.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/AtomicUpdateWithCheckConstraintATMService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/AtomicUpdateWithCheckConstraintATMService.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/AtomicUpdateWithPostValidationATMService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/AtomicUpdateWithPostValidationATMService.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/AtomicUpdateWithReturningClauseATMService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/AtomicUpdateWithReturningClauseATMService.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/AtomicUpdateWithWhereClauseATMService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/AtomicUpdateWithWhereClauseATMService.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/NaiveATMService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/NaiveATMService.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/NaiveAtomicUpdateATMService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/NaiveAtomicUpdateATMService.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/NaiveJavaSynchronizedATMService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/NaiveJavaSynchronizedATMService.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/NaiveNonTransactionalATMService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/NaiveNonTransactionalATMService.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingATMService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingATMService.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingWithAdvisoryLockInQueryATMService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingWithAdvisoryLockInQueryATMService.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingWithAdvisoryLockInSmartQueryATMService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingWithAdvisoryLockInSmartQueryATMService.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingWithNoWaitLockATMService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingWithNoWaitLockATMService.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingWithReadLockATMService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingWithReadLockATMService.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/PostgresAdvisoryLockATMService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/PostgresAdvisoryLockATMService.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/RepeatableReadIsolationLevelATMService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/RepeatableReadIsolationLevelATMService.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/SerializableIsolationLevelATMService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/SerializableIsolationLevelATMService.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/Transaction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/Transaction.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/TransactionRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/TransactionRepository.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/optimisticlocking/OptAccount.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/optimisticlocking/OptAccount.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/optimisticlocking/OptAccountRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/optimisticlocking/OptAccountRepository.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/optimisticlocking/OptTransaction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/optimisticlocking/OptTransaction.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/optimisticlocking/OptTransactionRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/optimisticlocking/OptTransactionRepository.java -------------------------------------------------------------------------------- /src/main/java/br/com/stackspot/nullbank/withdrawal/optimisticlocking/OptimisticLockingATMService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/java/br/com/stackspot/nullbank/withdrawal/optimisticlocking/OptimisticLockingATMService.java -------------------------------------------------------------------------------- /src/main/resources/META-INF/services/org.hibernate.boot.model.FunctionContributor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/resources/META-INF/services/org.hibernate.boot.model.FunctionContributor -------------------------------------------------------------------------------- /src/main/resources/application.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/main/resources/application.yaml -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/base/SpringBootIntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/base/SpringBootIntegrationTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/misc/BookRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/misc/BookRequest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/misc/BookRequestPropertyBasedTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/misc/BookRequestPropertyBasedTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/misc/BookRequestTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/misc/BookRequestTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/withdrawal/AtomicUpdateWithCheckConstraintATMServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/withdrawal/AtomicUpdateWithCheckConstraintATMServiceTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/withdrawal/AtomicUpdateWithPostValidationATMServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/withdrawal/AtomicUpdateWithPostValidationATMServiceTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/withdrawal/AtomicUpdateWithReturningClauseATMServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/withdrawal/AtomicUpdateWithReturningClauseATMServiceTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/withdrawal/AtomicUpdateWithWhereClauseATMServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/withdrawal/AtomicUpdateWithWhereClauseATMServiceTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/withdrawal/NaiveATMServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/withdrawal/NaiveATMServiceTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/withdrawal/NaiveAtomicUpdateATMServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/withdrawal/NaiveAtomicUpdateATMServiceTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/withdrawal/NaiveJavaSynchronizedATMServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/withdrawal/NaiveJavaSynchronizedATMServiceTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/withdrawal/NaiveNonTransactionalATMServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/withdrawal/NaiveNonTransactionalATMServiceTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingATMServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingATMServiceTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingWithAdvisoryLockInQueryATMServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingWithAdvisoryLockInQueryATMServiceTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingWithAdvisoryLockInSmartQueryATMServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingWithAdvisoryLockInSmartQueryATMServiceTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingWithNoWaitLockATMServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingWithNoWaitLockATMServiceTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingWithReadLockATMServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/withdrawal/PessimisticLockingWithReadLockATMServiceTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/withdrawal/PostgresAdvisoryLockATMServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/withdrawal/PostgresAdvisoryLockATMServiceTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/withdrawal/RepeatableReadIsolationLevelATMServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/withdrawal/RepeatableReadIsolationLevelATMServiceTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/withdrawal/SerializableIsolationLevelATMServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/withdrawal/SerializableIsolationLevelATMServiceTest.java -------------------------------------------------------------------------------- /src/test/java/br/com/stackspot/nullbank/withdrawal/optimisticlocking/OptimisticLockingATMServiceTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/java/br/com/stackspot/nullbank/withdrawal/optimisticlocking/OptimisticLockingATMServiceTest.java -------------------------------------------------------------------------------- /src/test/resources/application-test.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/src/test/resources/application-test.yaml -------------------------------------------------------------------------------- /stk.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/stk.yaml -------------------------------------------------------------------------------- /test-suit-preventing-lost-update-anomaly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rafaelpontezup/preventing-lost-update-racecondition/HEAD/test-suit-preventing-lost-update-anomaly.png --------------------------------------------------------------------------------