O nome da exceção é auto-explicativa. Ele está recusando conexões e não simplesmente pelo fato de não achar o handler, mas pode estar tendo problemas com muitas conexões abertas ao mesmo tempo.
Se está intermitente, então é provável que esteja abrindo muitas conexões ao mesmo tempo e não liberando-as, fazendo com que o banco sobrecarregue e deixe de aceitar novas conexões.
Até!
Obs.: Coitadas das araucárias.
M
marcelostanley
uso o oracle express edition , ele possui limites de conexoes ?
entendi, porem como devo proceder ?
td vez em que uso um objeto da classe Connection , eu no fim uso o metodo close(); tem algo mais q pode ser feito ?
M
maquiavelbona
Duas coisas que podem estar acontecendo:
Estás abrindo muitas conexões simultâneas, mesmo que fechando ao final do uso de todas. Na documentação não fala nada de limitação desse tipo, mas 20/30 conexões simultâneas já são o suficiente para deixar um banco caseiro maluquinho.
Estás com falta de hardware. Pode ser que quando estejas executando a conexão, o uso do CPU e de memória esteja no limite, fazendo com que o servidor “deixe de responder” novas solicitações até poder processá-las direito.
Verifique se em algum dos dois casos você se enquadra.
Até!
M
marcelostanley
cara me enquadro no primeiro caso … e agora rsrs ?
M
maquiavelbona
Pool de conexões. Tem muitos a disposição, recomendo o C3P0.
Até!
N
nbluis
O Banco em sí não tem limite de conexões.
Mas o o XE vem com configurado com o limite de 30, podendo ser alterada a qualquer momento.
M
marcelostanley
maquiavelbona:
Pool de conexões. Tem muitos a disposição, recomendo o C3P0.
Até!
antes deu baixar, poderia me explicar duas coisas ?
qual o objetivo entao do metodo close(); ?
de q se trata esse lance de pool de conexoes ?
pow tomara q d certo !!! thanks !!
M
marcelostanley
nbluis:
O Banco em sí não tem limite de conexões.
Mas o o XE vem com configurado com o limite de 30, podendo ser alterada a qualquer momento.
onde configuro ?
M
maquiavelbona
O Connection.close() realmente fecha conexões, mas se tiveres muitas conexões simultâneas ( ao mesmo tempo ) vai ter problemas.
O Connection Pool gerencia as conexões por você, devolvendo uma aberta, abrindo uma nova e fechando quando necessário.
Até!
M
marcelostanley
ok !!!
mas o q faco com o .zip q baixei ?
é so colocar no diretorio la do eclipse e pronto ?
pelo q entendi seria p/ modificar o metodo de conexao com o banco, mas
fiz da seguinte maneira e nao deu certo, poderia dizer o q ainda esta errado…
a parte comentada representa a maneira como estava.
publicConnectionconecta(){try{ComboPooledDataSourcecpds=newComboPooledDataSource();// carregando o driver do banco de dados// Class.forName(DRV);try{cpds.setDriverClass(DRV);}catch(PropertyVetoExceptione){e.printStackTrace();}cpds.setJdbcUrl(url);cpds.setUser(userName);cpds.setPassword(password);conn=cpds.getConnection();// conn = DriverManager.getConnection(url, userName, password);System.out.println("Conexão OK!");returnconn;}catch(SQLExceptione){e.printStackTrace();}// } catch (ClassNotFoundException e) {// e.printStackTrace();// }returnnull;}
M
marcelostanley
pessoal alguem me ajude please rsrrrs
ainda to com esse problema !!