Persistencia de dados com hibernate + VRaptor

1 resposta
S

Amigos estou com um problema, tenho uma classe thread que realiza uma importação, esta importação recebe os registro via socket, a medida que vai chegando os registro vou adicionando estes registro em um stringBuilder publico e estatico.

Por sua vez tenho uma segunda Thread que manipula este stringbuilder removendo as mensagens e transformando-as em objetos para serem persistidos, depois adicionando este objetos em um list publico e statico.

Este list por sua vez é usado em uma terceira thread responsável apenas pela persistência, esta thread contém um while que repete enquanto tiver registro no list fila, pegando cada registro e persistindo.

Meu problema é o seguinte, digamos que em todo o tempo do sistema chegou 1000 registros para ser inseridos, os 1000 foram persistidos pela classe responsável sem dar nenhum erro, nos logs aparece 1000 inserts montados pelo hibernate, mas ao dar um select na base apenas 58 registros foram gravados.

Alguem tem alguma ideia do que pode estar ocorrendo? Obrigado!

1 Resposta

S

Amigos desculpa a ignorância, descobri o problema, como eu uso o @Transactional no método que persiste o mesmo somente será inserido na base depois que sair deste método, como o tempo de persistência e o tempo de chegada dos registros eram diferentes, a chegada era mais rápida que a persistência, ele nunca estava saindo do método, assim nunca realizando o commit da persistência, depois te ter recebido todos os dados e o fila ter terminado, os inserts foram comitados e todos estavam na base.

Criado 2 de março de 2012
Ultima resposta 2 de mar. de 2012
Respostas 1
Participantes 1