Buenas,
Estou implementando a concorrencia de cadastros em um sistema.
Ja fiz funcionar o Lock por versão usando a anotação @Version e StaleObjectStateException
Agora estava querendo fazer algo mais avançado e preciso de ajuda.
OBJETO CARRO
ID - 1
NOME - FERRARI,
MARCA - FERRARI
Usuário 1 acessa o CARRO 1
Usuário 2 acessa o CARRO 1
Usuário 1 modifica o nome para FUSCA
Usuario 1 salva o CARRO 1
Usuario 2 modifica a marca para VOLKS
Usuário 2 salva o CARRO 1
Quero que o objeto CARRO 1 esteja com nome FUSCA e marca VOLKS
e até talvez mostre uma mensagem pro usuario 2 que alguns elementos foram modificados por outro usuário.(frescura^^)
e, caso aconteça a segunda situação:
Usuário 1 acessa o CARRO 1
Usuário 2 acessa o CARRO 1
Usuário 1 modifica o nome para FUSCA
Usuario 1 salva o CARRO 1
Usuario 2 modifica o nome para MUSTANG
Usuário 2 salva o CARRO 1
Apresente uma mensagem de erro para o usuário 2 avisando que o CARRO 1 foi modificado por outro usuário.