Olá,
uma duvida como verificar se o banco está fora do ar pois montei rotina abaixo mas me deu o
erro :
Erro no acesso ao Banco java.lang.IllegalStateException: Transaction not active
como deveria verificar se está certo dessa forma ou existe outra forma
se alguém puder me ajudar gradeceria …abs
public class TestaConexao {
public static void main(String[] args){
try{
PersistenceService service = PersistenceService.getInstance();
service.testaConexao();
}catch(Exception e){
System.out.println("Erro no acesso ao Banco "+e);
}
}
}
--------------------
public class PersistenceService {
//Attributes
private EntityManager em;
public static PersistenceService instance = new PersistenceService();
/**
* Constructor
*/
private PersistenceService(){
}
public static PersistenceService getInstance() {
return instance;
}
public void testaConexao(){
try{
em = PersistenceServiceFactory.create();
em.getTransaction().begin();
System.out.println("Abriu Conexao .....");
em.getTransaction().commit();
em.close();
}catch(IllegalStateException i){
em.getTransaction().rollback();
System.out.println("Não abriu Conexao ...");
}catch(Exception e){
em.getTransaction().rollback();
System.out.println("Não abriu Conexao ...");
}
}
}
-------------------------------
public class PersistenceServiceFactory {
static EntityManagerFactory emf = null;
static EntityManager em = null;
public static EntityManager create() {
try{
emf = Persistence.createEntityManagerFactory("pu2");
System.out.println("Factory = "+emf);
em = emf.createEntityManager();
System.out.println("Manager = "+em);
}catch(Exception e){
System.out.println("Não conseguiu acesar o Banco ");
}
return em;
}
}