Métodos Sincronize - JSF

Fala Galera!

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?

Agradeço pela ajuda.

de mais detalhes do seu problema, tal meio vago…

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.