Boa Tarde galera postei aqui no forum Dia 10/12 http://www.guj.com.br/posts/list/227487.java e desde entao estou tentando descobrir como resolvo este problema, ate q deu a luz e tirei a chamada do removeById da Thread que estava e coloquei na Thread Principal do programa e bingo a minha entidade foi removida.
Agora vem minhas duvidas:
Tem Alguma configuração sobre o tempo que uma thread possa durar para esperar um metodo ser processado, ou definir o tamanho de memoria que uma thread possa usar
Pelo que me parece a thread esta morrendo e cancelando o processo de deleção sem dar erro nenhum, isso pode proceder pois o metodo demora mais de 5 minutos ou por memoria que ao executa o metodo de deleção o meu programa vai de 100 megas para 250 de Ram
E como vou atualizar minha Tela Swing sendo que o processo não pode ficar em Thread?
Não, ela não morre antes do processamento terminar.
Quanto a memória, é possível. Mas o problema ocorreria também em outras threads, e você receberia um OutOfMemoryError. Sua aplicação usa algum parâmetro como -XMX na inicialização da sua VM?
Além disso, não é memória demais não? Talvez seja uma boa rodar um profiler, como o VisualVM, para identificar porque sua aplicação está consumindo tanto.
Use o comando:
[code]EventQueue.invokeLater(
new Runnable() { @Override
public void run() {
//Aqui vão os comandos de atualização de tela.
//Esse runnable rodará na thread do Swing.
}
}
);
[quote]Quanto a memória, é possível. Mas o problema ocorreria também em outras threads, e você receberia um OutOfMemoryError. Sua aplicação usa algum parâmetro como -XMX na inicialização da sua VM?
[/quote]
Sim uso Xms256 e Xmx1024
Sobre
Minha memoria aumenta quando eu mando excluir minha entidade pelo metodo remove, por tanto porvavelmente nao a vazamento de memoria ja que o metodo remove e o do Entitymanager
E sobre atualizar a tela via[quote]EventQueue.invokeLater(
new Runnable() { @Override
public void run() {
//Aqui vão os comandos de atualização de tela.
//Esse runnable rodará na thread do Swing.
}
}
);
[/quote]
Não funcionaria pois eu mando o comando para remover o objeto e deixo o JProgressBar com indeterminate
Aproveitando a resposta sua, voce sugere uma outra forma de eu apagar minha entidade? como por exemplo usar query com o comando DELETE uma a uma cada entidade?