Hibernate - metodo para testar a conectividade da SessionFactory

6 respostas
L

Preciso saber como testar a conectividade da SessionFactory…
Ex.: o servidor caiu… eu abro uma nova Session e nao da nenhum erro, mas quando faço uma consulta, da erro…
Queria testar a conexao todas as vezes que fosse abrir uma nova Session…
Alguém pode me ajudar?

6 Respostas

R

Connection conn = getSesseionFactory().getCurrentSession().connection());
conn != null …

Session session = getSesseionFactory().isClosed()

boolean b = getSesseionFactory().getCurrentSession().isOpen()

L

nao funcionou…

achei uma solução momentanea usando Socket, passando ip e porta de conexao…
Ex:

Socket s = new Socket();
		try{
			s = new Socket("192.168.1.1",3050);
		}catch (Exception e) { }
		
		if(s.isConnected()){
			System.out.println("Conexão OK");
		}else{
			System.out.println("Sem conexão para esse IP");
		}

mas nao atende 100% a necessidade…
fico aguardando outra solução…
obrigado

L

encontrei um problema com o teste de socket…
se o servidor cai… ele detecta q caiu…

mas se o servidor volta, o socket conecta tranquilo,
mas a SessionFactory ja nao é mais válida…

o q fazer agora?

L

?

gerdec

cara tem um controle de transação bem interessante do hibernate nessa apostila da caelum:

http://www.caelum.com.br/caelum/curso-28.jsp espero ter ajudado

Adriano_Nogueira
public static boolean isConectedBanco1(){

System.out.println(Tentando Conectar-se ao banco 1.=+isConectedBanco1());

try{

if(FABRICABANCO1.openSession().connection().isClosed()){

return false;

}

FABRICABANCO1.close();

return true;

}catch(Exception ex){

return false;
}
	
}
Criado 7 de fevereiro de 2008
Ultima resposta 29 de jun. de 2010
Respostas 6
Participantes 4