*****APAGADA
AJUDA URGENTE! PROBLEMA PERDA DE CONEXÃO j2EE COM MYSQL! VALE UMA CAIXA DE CERVEJA!
8 Respostas
“jdbc:mysql://187.45.196.141/hotticket?autoReconnect=true&relaxAutoCommit=true”
Tenta assim.
*****APAGADA
Sessão POG,rsrs
O problema acontece nesta linha:
pstmt = Conexao.getConnection().prepareStatement(
"SELECT idevento,data,descricao,flyer,resenha,thumb,shortdescricao FROM evento where ativo=ativo");
Por algum motivo esta conexão não esta sendo estabelecida, pode ser até mesmo problemas de conexão da rede e etc…
Tenta colocar este código dentro de um loop, testando se a conexão esta nula,ou seja, se ele não conseguir estabelecer a conexão na primeira, uma segunda tentativa é acionada, daí vc pode limitar umas 10 tentativas, sei la,rsrsrs.
Cara, o que pode estar acontecendo é que o SGBD está fechando as conexões e o pool nem fica sabendo, ai quando você vai tentar usar a conexão ta fechada e da esses paus.
Você pode alterar as configurações do SGBD para não fechar (não faça isso).
Ou configurar o seu pool para checar de tempo em tempo se a conexão ainda está ativa.
Esse post é o mesmo caso que citei acima, veja se há algo semelhante no seu cenário:
http://blog.caelum.com.br/2009/10/19/a-java-net-socketexception-broken-pipe/
*****APAGADA
Eu acho que o seu método de retorno de conexão irá sempre retornar a mesma conexão. E, sim, você precisa fechá-la após o uso (que pode ser em uma ou mais queries).
O código da conexão ficaria algo mais ou menos assim:
public static void conectar() {
try {
Context context = new InitialContext();
Context envCtx = (Context) context.lookup("java:comp/env");
ds = (DataSource)envCtx.lookup("jdbc/hotticket"); //presumindo que é uma variável de classe
System.out.println("Conectado via JNDI.");
}
catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection() {
return ds.getConnection();
}
O Postgre mantém a conexão aberta enquanto você não explicitar que quer fechá-la, por isso funcionou quando você trocou de banco.
Abraço!
[edit]Pena que cheguei tarde de mais...tá tão quente aqui em Brasília que uma caixa de cerveja iria muito bem, apesar de eu preferir uísque...hehe[/edit]
*****APAGADA
Que servidor de aplicação vc está usando? E em que versão ele está?
Não sei se você viu, mas um bug assim foi corrigido na versão 5.5.7 do TomCat:
https://issues.apache.org/bugzilla/show_bug.cgi?id=33357