Quando iniciado o JBoss, a aplicação está rapida e muito boa. Depois de uns 3 dias temos que reiniciar, pois esta lenta demais e travando.
Já alteramos o PermSize para 512, mas mesmo assim o problema continua.
O sistema faz muitas transações com campos blob. Pode ter alguma influencia? Pois o sistema grava o blob pego o ID e depois sai dando update (select for update). Mas depois de tudo isso os cursores sao fechados.
Resultset, PreparedStatements, Statements, CallableStatement, Connection …
todos tem que ter close() no finally do try/catch
usa jms?
abelgomes
sim usamos JMS.
em relação aos Resultset, PreparedStatements, Statements, CallableStatement, Connection …
todos tem que ter close() no finally do try/catch
já estao todos assim.
vlw
CarvalR2
A JMS também é boa para causar leak
Caso seja TOPIC, os subscribers devem dar close() na saída. Se não der close, vai acumulando … até aumentar a memoria muito e jboss ficar lento.
No caso de Queue, todos os recursos devem ser fechados a cada envio de mensagem. Connection, session, etc… se o objeto tiver o metodo close() , vc tem que garantir que ele sera chamado no final.
P/ vc testar a JMS, conecta no hypersonic (caso esteja utilizando ele como banco de dados default para a JMS) ou no seu banco que voce configurou …
e cria na tabela JMS_MESSAGES um campo DT_INCLUSAO … Coloca o campo como NULL e recebendo a data/hora do momento como default.
Ou seja, a cada hora que a jms incluir um registro, o seu dt_inclusao receberá a data default …
Se você notar que tem muito registro com data antiga, certamente há algum problema na JMS onde você nao esta liberando todos os recursos.
abelgomes
muito obrigado CarvalR2, iremos implementar essa solução do campo DT_INCLUSAO.