Boa noite!
Criei um WebService utilizando a ide Eclipse, hibernate, json, mysql.
Instalei no cliente e ficou funcionando muito bem. Do nada ele para de funcionar, não da erro, porem parece que não consegue ler o banco, visto que não traz nada.
Ai é só eu parar o tomcat, reiniciar e tudo volta a funcionar. Passa um tempo e da problema novamente.
Alguem já passou por isso, saberia me dizer onde procurar o problema?
Tenho um Webservice assim num cliente rodando a mais de um ano e não tenho problema com relação a isto.
Vou tentar te ajudar!
Vamos observar primeiramente a sua conexão com o banco de dados. Como ela é feita dentro da sua classe de serviços? (try/catch/finally)
R
rpassos81
Bom dia!
Obrigado pela ajuda.
Segue abaixo um código de exemplo.
publicList<AvisosMobileVO>getAvisos(ConfiguracaoMobileVOconfig){List<AvisosMobileVO>listAvisos=newArrayList<>();AvisosMobileVOaviso;VendedorMobileVOvendedor;EntityManagerem;AcessoDBacessoDb=newAcessoDB();CalendardataFiltro=Calendar.getInstance();dataFiltro.add(java.util.Calendar.DAY_OF_MONTH,-10);try{em=acessoDb.conectar();Queryquery=em.createQuery("SELECT a FROM AvisosMobileVO a WHERE a.dataAviso > :dataAv"+" AND (a.vendedor.id = :idVendedor OR a.vendedor is null)");query.setParameter("dataAv",dataFiltro.getTime());query.setParameter("idVendedor",config.getVendedorPadrao().getId());List<AvisosMobileVO>listAvisosERP=query.getResultList();for(inti=0;i<listAvisosERP.size();i++){aviso=newAvisosMobileVO();aviso.setId(listAvisosERP.get(i).getId());aviso.setDataAviso(listAvisosERP.get(i).getDataAviso());aviso.setTexto(listAvisosERP.get(i).getTexto().replaceAll("\t","").replaceAll("\r\n","").replaceAll("\n","").trim());aviso.setVisualizado("N");vendedor=newVendedorMobileVO();vendedor.setId(listAvisosERP.get(i).getVendedor().getId());aviso.setVendedor(vendedor);listAvisos.add(aviso);}returnlistAvisos;}catch(Exceptione){e.printStackTrace();returnnewArrayList<>();}finally{acessoDb.desconectar();}}publicclassAcessoDB{privatestaticEntityManagerFactoryfactory;privateEntityManagerem;static{try{factory=Persistence.createEntityManagerFactory("banco");}catch(RuntimeExceptionex){ex.printStackTrace();}}publicEntityManagerconectar()throwsException{em=factory.createEntityManager();returnem;}publicvoiddesconectar(){if(em!=null&&em.isOpen()){em.close();}}publicvoidbeginTrans(){if(em!=null){if(!em.getTransaction().isActive()){em.getTransaction().begin();}}}publicvoidcommitTrans(){if(em!=null){if(em.getTransaction().isActive()){em.getTransaction().commit();}}}publicvoidrollbackTrans(){if(em!=null){if(em.getTransaction().isActive()){em.getTransaction().rollback();}}}}
R
rpassos81
Outra coisa que esqueci de mencionar. Neste mesmo Tomcat, esta rodando um sistema que fica funcionando normalmente. Somente o WebService para de funcionar.
R
rpassos81
Este é o erro que ele passa a dar depois que para de funcioanar.