Mysql bloquear registos  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
LuisClaudio
JavaEvangelist

Membro desde: 27/03/2006 13:15:15
Mensagens: 358
Offline

Boas pessoal!

base de dados : Mysql

Quando faço um select gostaria que os registos que eu selecionei fossem bloqueados para que nao seja visiveis nos threads seguintese eles nao os possam manipular manipular.

O que acontece é que quando eu executo um thead ele faz um select ele leva um tempinho para processar todos os registos que ele encontrou, e durante o meio deste processamento outra thread começa e vai a procurar de rgistos que ainda nao foram tratados, incluindo aqueles que estao a ser tratados pela thread anterior. o que ta me dando alguma duplicação no programa.

a thread é executado de x em x segundos e as vezes o processamento de cada thread leva mais tempo que o intervalo da execução de cada thread.

Tem como eu fazer isso de modos a que quando uma thread apanhar um determinado numero de registos so ela trata deles ?

Obrigado !

MCSE; CCNA; SCJP 1.5
"Quando o Homem Pensa o Mundo Salta e Avança !"
abmpicoli
JavaTeenager

Membro desde: 27/07/2011 09:11:25
Mensagens: 164
Offline

Carinha, isso tá me cheirando a falha de projeto no desenho da tabela: se você tem que preparar os dados de alguma maneira antes que eles possam ser utilizados, você tem que marcá-los de alguma forma: por exemplo, colocar um campo chamado "lock" na sua tabela e enquanto o "lock" tiver determinado valor outros pontos da aplicação não podem utilizá-los.

Aí você faz um select "where lock <> 'X'" onde X é o valor que indica que travou.

.x.
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team