Hibernate fechando a conexão e problemas com heap memory

1 resposta
andre_a_s

Bom dia senhores :smiley:
Tenho uma aplicação usando Hibernate, JSF e AJAX. Ela está rodando em um Portlet Contâiner, o Liferay.

Estou com dois problemas.

1 - Com certa frequência estou tendo problemas de estouro de memória. Existem somente duas suspeitas: ou o meu sistema está enchendo a memória ou o Liferay. Pelo nivel de maturidade do Liferay, acho dificil que seja um problema dele, mas não descarto a possibilidade.
Esse problema só foi detectado no ambiente de homologação.
A maquina tem 2gb de memória e roda em Linux (SME Server - baseado no Fedora Core 4).
A jvm está com o parâmetro: -Xmx2048m.
Como posso medir o desempenho disso no ambiente de homolog? No caso de desenvolvimento, uso Windows XP. Que tipo e profiler é indicado?
Sou novo nesse tipo de teste com profilers e tal, mas acho q já estava na hora de ter esse tipo de controle.

2 - Minha aplicação usa Hibernate e estou recebendo a seguinte exception depois de um certo tempo:

java.sql.SQLException: Closed Connection at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208) at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:849) at oracle.jdbc.driver.PhysicalConnection.prepareStatement(PhysicalConnection.java:768) at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:442) at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:368) at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:105) at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1561) at org.hibernate.loader.Loader.doQuery(Loader.java:661) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224) at org.hibernate.loader.Loader.doList(Loader.java:2145)
Imagino que seja algum tipo de timeout por inatividade e por isso esteja fechando minha conexão.
O que fazer nesse caso? Eiste alguma configuração que diz respeito ao timeout?

Toda ajuda é sempre bem vinda :slight_smile:
Obrigado.

1 Resposta

G

kra… coloca aqui seu hibernate.properties… isso deve ser configuracao.

tive um problema desse tb… dai usei o C3P0 e parou este problema…
se tiver usando o padrao do hibernate :

#################################
### Hibernate Connection Pool ###
#################################

hibernate.connection.pool_size 1

talvez seja por isso…

[]'s
Geraldo Barboza

Criado 21 de maio de 2007
Ultima resposta 21 de mai. de 2007
Respostas 1
Participantes 2