Estou precisando de uma ajuda!
Como eu faço para baixar o estoque da minha aplicação web?
Estava pensando em usar um método sincronize para garantir que somente um usuário baixe o estoque por vez.
Isso funciona no JSF? Existe alguma forma melhor de fazer isso?
Eu tenho uma loja virtual com vários produtos e cada produto tem um determinado estoque que não pode ficar negativo.
Como várias pessoas compram os produtos ao mesmo tempo, quando eu dou um update na tabela de estoque, subtraindo o saldo, eu não consigo garantir que na tabela existe o saldo requisitado, corro um grande risco de ficar com saldo negativo.
A minha ideia era ter um método sincronize para garantir que uma pessoa por vez executaria a validação do saldo e o update. Dessa forma eu consigo garantir que sempre vai existir saldo e o estoque nunca vai ficar negativo.
O meu problema é a concorrência no registro. Se eu trabalhar com transação corro o risco de dar um update e outra pessoa já ter subtraido o saldo que eu validei.