Pool de conexões

Bom dia á todos

Seguinte, eu tenho uma aplicação web ( sem struts, etc, etc ) com uma classe de conexão tentando utilizar o pool de conexões com o tomcat, configuramos a aplicação conforme explica no site do apache, e no gerenciador do tomcat ( probe ) mostra que o datasource está ativo, mas a aplicação que usa oracle chega num limite de dar a mensagem de maximum open cursors exceeded, então revendo parece que o pool está configurado mas não sendo utlizado pela aplicação, alguém saberia o pq ou teria alguma idéia ??? 8) :!: :!: :!: :!: :!: :!: :!:

Obrigado

Estão fechando as conexões usadas ( conn.close() ) ???

Sim, estamos fechando, temos um metódo que verifica se ela esta aberta e fecha, pega a conexão do datasource, executa a query

Vc solucionou o Erro???

Eu estou usando Oracle tbm, só que o meu erro é que ao executar uma procedure ele nao me traz todos os registros existentes no Banco… Não é erro na procedure pois fiz o teste, Acho que o erro é na conexao Pool, pois quando mexo nele ela Lista tudo mas ai dá alguns erros na Procedures… Tipo parametros incorretos na procedure…

Valeu

Verifique se estão fechando os Statements e ResultSets. É importante!
Também verifique se você não está abrindo muitos cursores ao mesmo tempo.

Olá

Paulo, estou com o mesmo problema.

Eu fecho os statments e resultset e libero as conexões pro pool. O problema que reparei é que ao fechar os Statments e resultsets seria para liberar os cursores, porem os cursores só são liberados quando a conexão é fechada.

Não há a menor possibilidade de fechar as conexões, pois de que adianta fechar uma para devolve-la ao pool? o pool teria que criar outra conexao e acaba perdendo o sentido utiliza-lo.

Reparei que nos ResultsSets tem um método que é setHoldability. Neste método eu passo a constante CLOSE_CURSORS_AT_COMMIT mas ele não fecha os cursores de maneira nenhuma.

Não sei se é alguma limitação do driver jdbc, já entrei no site da oracle e baixei o ultimo e não mudou nada.

por enquanto, pra contornar a situação eu estou utilizando uma gambi, que quando lança uma SQLException e a mensagem é de maximo de cursores eu fecho a conexao, abro outra, executo o comando novamente e devolvo a conexao ao pool, porem isso é temporario mesmo, para ter como testar o sistema até encontar uma solução.

Se encontar a solução por favor poste, estou pesquisando e farei o mesmo.

Abraço