AJUDA URGENTE! PROBLEMA PERDA DE CONEXÃO j2EE COM MYSQL! VALE UMA CAIXA DE CERVEJA!

8 respostas
marceloluz

*****APAGADA

8 Respostas

D

“jdbc:mysql://187.45.196.141/hotticket?autoReconnect=true&relaxAutoCommit=true”

Tenta assim.

marceloluz

*****APAGADA

H

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.

Tchello

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/

marceloluz

*****APAGADA

Ataxexe

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]

marceloluz

*****APAGADA

ViniGodoy

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

Criado 4 de fevereiro de 2010
Ultima resposta 8 de fev. de 2010
Respostas 8
Participantes 6