Conexão JAVA / ORACLE

2 respostas
Rulio

Pessoal estou tentando um pequeno problema no meu pool de conexão.
É o seguinte:
Quando iniciamos pela primeira vez o programa, é criada 20 conexões e ficam lá a espera…

O Problema surge quando o servidor cai, ou por motivos de energia ou qualquer um outro…

Como posso verificar se existe uma conexão ativa com o banco, pq caso não exista tenho que limpar todas as variaveis e criar a conexão outra vez. Infelizmente isso não está acontecendo e não consigo fazer login na aplicação.

JAVA / ORACLE

Aqui está o código:

public synchronized  Connection obterConexao( boolean esperar) throws PoolConexoesException{

Connection conexao = null;

Iterator iterator = conexoesLivres.iterator();

if(iterator.hasNext()) {

conexao = (Connection)iterator.next();

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  conexões disponíveis!);

}

}

}

return conexao;

}

2 Respostas

dyorgio

Vendo por cima…
você poderia fazr um select qualquer para verificar isso… :stuck_out_tongue:
ai reconecta se der erro de conexão…

Rulio

mas será que já não existe nenhum método de algum objeto que verifique isso ?

Criado 21 de maio de 2007
Ultima resposta 21 de mai. de 2007
Respostas 2
Participantes 2