Olá pessoal, ficaria muito grato se pudessem me dar uma força.
Tenho uma aplicação rodando na web com a seguinte configuração do c3p0:
c3p0.minPoolSize=3
c3p0.maxPoolSize=40
c3p0.maxStatements=400
c3p0.acquireIncrement=3
c3p0.idleConnectionTestPeriod=0
c3p0.checkoutTimeout=0
c3p0.maxStatementsPerConnection=10
c3p0.acquireRetryDelay=1000
c3p0.acquireRetryAttempts=60
c3p0.maxIdleTimeExcessConnections=120
c3p0.numHelperThreads=6
c3p0.debugUnreturnedConnectionStackTraces=false
c3p0.unreturnedConnectionTimeout=180
Cheguei a esta configuração após ler muitos posts sobre o assunto.
Acontece que uma das minhas rotinas consiste em abrir uma Session no hibernate, realizar algumas buscas e executar uma carga pesada em arquivo que dura em torno de 40 segundos. Se essa manipulação retornar com sucesso faço o commit. Senão devo fazer rollback pra garantir a consistência dos dados.
Quando rodo localmente em uma máquina com bom processador tudo funciona perfeitamente.
Entretanto, quando é no servidor ele quebra pois diz que a conexão com o banco já foi fechada sendo que eu setei o idleConnectionTestPeriod pra zero pra não ter esse problema.
Alguém faz idéia de onde estou errando?