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.
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.
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.
[code]
#################################
#################################
hibernate.connection.pool_size 1
###########################
###########################
#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
###################################
###################################
#hibernate.dbcp.maxActive 100
#hibernate.dbcp.whenExhaustedAction 1
#hibernate.dbcp.maxWait 120000
#hibernate.dbcp.maxIdle 10
#hibernate.dbcp.ps.maxActive 100
#hibernate.dbcp.ps.whenExhaustedAction 1
#hibernate.dbcp.ps.maxWait 120000
#hibernate.dbcp.ps.maxIdle 10
#hibernate.dbcp.validationQuery select 1 from dual
#hibernate.dbcp.testOnBorrow true
#hibernate.dbcp.testOnReturn false[/code]