Pool do Hibernate

1 resposta
dgouvea

Eu tenho uma aplicação WEB que utiliza o Hibernate, depois de um certo tempo navegando na aplicação, para de funcionar a parte de acesso ao banco, eu acredito que está estourando o limite de conexões no pool, como eu controlo esse pool ?

Grato.

1 Resposta

ricardolecheta

eu tive um problema parecido recentemente. Eu estava fazendo um session.beginTransaction() em um lugar do código e nao fazia commit/rollback. Depois de um tempo dava pau.

Para configurar o pool, basta escolher qual o pool que vc prefere customizar as propriedades :

O Hibernate Connection Pool é o mais rudimentar. Ele vai lhe trazer problemas em produção. O DBCP e o C3P0 sao bons. Caso use o tomcat configure uma datasource com o DBCP no proprio tomcat, na documentação do Hibernate mostra com fazer.

Caso use um application server e queira que o Hibernate se conecte em uma datasource, basta configurar a propriedade : "hibernate.connection.datasource" para o nome jndi de sua datasource.

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

hibernate.connection.pool_size 1



###########################
### C3P0 Connection Pool###
###########################

#hibernate.c3p0.max_size 2
#hibernate.c3p0.min_size 2
#hibernate.c3p0.timeout 5000
#hibernate.c3p0.max_statements 100
#hibernate.c3p0.idle_test_period 3000
#hibernate.c3p0.acquire_increment 2
##hibernate.c3p0.validate false



###################################
### Apache DBCP Connection Pool ###
###################################

## connection pool

#hibernate.dbcp.maxActive 100
#hibernate.dbcp.whenExhaustedAction 1
#hibernate.dbcp.maxWait 120000
#hibernate.dbcp.maxIdle 10

## prepared statement cache

#hibernate.dbcp.ps.maxActive 100
#hibernate.dbcp.ps.whenExhaustedAction 1
#hibernate.dbcp.ps.maxWait 120000
#hibernate.dbcp.ps.maxIdle 10

## optional query to validate pooled connections:

#hibernate.dbcp.validationQuery select 1 from dual
#hibernate.dbcp.testOnBorrow true
#hibernate.dbcp.testOnReturn false
Criado 9 de março de 2004
Ultima resposta 9 de mar. de 2004
Respostas 1
Participantes 2