Manter objeto em lock com o hibernate  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Java Lover
Debugger
[Avatar]

Membro desde: 24/02/2010 16:27:05
Mensagens: 62
Localização: Belo Horizonte / MG
Offline

Seu problema é alta concorrência.
Por ser um banco com acessos heterogênios cada aplicação deve manter seu lock pessimista.
A minha pergunta é: "Vc sabe programar Threads ?"
Vc sabe que atualmente vc só consegue dar lock enquanto estiver com a sessão do hibernate correto ?
A solução é que enquanto vc estiver na sessão do hibernate, lançar uma thread de verificação do tempo de inatividade da sua sessão http, lockando o mesmo campo numa outra sessão do hibernate.
Na segunda chamada pra atualização, vc usa NotifyAll e acorda essa thread e ela libera o lock em seguida vc pega o campo com outra sessão do hibernate e atualiza o dado, no fim do commit seu lock é liberado.
Isso impede os sistemas em Delphi de pegar o banco mas pra chamadas em seu webservice vc tem que implementar através de variável de sessão.


Dúvida solucionada ?
  • Acrescente ao nome do tópico [RESOLVIDO].
  • Explique a falha e como resolveu.
  • Agradeça a dica.
  •  
    Índice dos Fóruns » Java Básico
    Ir para:   
    Powered by JForum 2.1.8 © JForum Team