Verificar conexão ativa com Banco

Pessoal alguém já deve ter passado por isso…

Como posso verificar a conexão ativa com um banco de dados ?

Não vale dizer que é fazendo uma consulta… heheheheh

Deve existir algum método, num é possível que ninguém nunca deve ter passado por isso

Quando a conexão com o banco caí, o sistema não é alertado e o pool ainda continua cheio e ninguém consegue logar.

nada do tipo:

if(conexao!=null)

antes de fazer alguma transação
???

Cara,

a Classe Connection do package java.sql.Connection tem um método com um retorno boolean que se chama isClosed(), você pode verificar antes de fazer qualquer manipulação da sua base de dados!!..

Qualquer coisa posta ai!!!

mas o objeto conexao não pode ser utilizado pq pra todos efeitos ele acha que está funcionando, mas a conexão caiu faz tempo

Connection conexao = null;
Iterator iterator = conexoesLivres.iterator();

   existeConexaoAtiva();

    if(iterator.hasNext()) {
        conexao = (Connection)iterator.next();
        //verifica se existe uma conexão ativa com o ORACLE
        conexoesLivres.remove(conexao);
        conexoesOcupadas.add(conexao);
    } else {
        if(numeroConexoesCriadas < numeroMaximoConexoes) {
            String msg = "Thread: " + Thread.currentThread().getName();
            msg += " | " + "Conexoes criadas: " + numeroConexoesCriadas;
            msg += " | " + "Maximo de Conexoes: " + numeroMaximoConexoes;
            System.out.println(msg);
            try {
                conexao = criarNovaConexao();
                numeroConexoesCriadas++;
                conexoesOcupadas.add(conexao);
            } catch(SQLException e){
                throw new PoolConexoesException("Erro ao criar conexao", e);
            }
        } else {
            if(esperar) {
                try {
                    wait();
                } catch(InterruptedException e){
                    throw new PoolConexoesException("Erro na interrupção da Thread.", e);
                }
                conexao = obterConexao(esperar);
            } else {
                throw new PoolConexoesException("Não há conexões disponíveis!");
            }
        }
    }
    return conexao;

Cara, se quer saber se tem conexão ativa sem manipular o objeto Connection???

meio estranho ein!!! posta o código do método existeConexaoAtiva() ae!!