22098 - Falha ao realizar deploy da aplicação Gestão do Ponto
Problema:
Solução:
Falha ao realizar deploy da aplicação Gestão do Ponto através do instalador/atualizador Senior.
No log do Glassfish, encontra-se as seguintes informações (ou apenas uma delas):
- (..)Caused by: Exception [EclipseLink-4002] (Eclipse Persistence Services - org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLNonTransientConnectionException: No current connection.
Error Code: 40000
Call: SELECT COUNT(TIMERID) FROM EJB__TIMER__TBL WHERE (APPLICATIONID = ?)
bind => [1 parameter bound]
Query: ReportQuery(name=countTimersByApplication referenceClass=TimerState sql=SELECT COUNT(TIMERID) FROM EJB__TIMER__TBL WHERE (APPLICATIONID = ?))
- (..) WARNING org.jboss.weld.Bootstrap WELD-001208 Warning when validating jar:_file:<caminho>/gestaoponto-cache.jar!/META-INF/beans.xml@6 against xsd. schema_reference.4: Failed to read schema document http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd', because
1) could not find the document;
2) the document could not be read;
) the root element of the document is not <xsd:schema>.|#]
(..)
Rotina / Tela: Intalador / Atualizador Senior
Solução:
Solução 22098: Verificamos que em versões anteriores esses arquivos xml sempre existiram dentro dos EAR. Estão presentes pois dentro deles são referenciadas bibliotecas externas que a Nova Interface utiliza, sem esses arquivos ao efetuar o deploy essas bibliotecas não são baixadas e impossibilita o uso da Nova Interface, a princípio a antiga interface deveria funcionar normalmente.
O erro que consta no log do glassfish não está conseguindo validar esse arquivo xml. E isso pode estar ocorrendo por diversos motivos:
1) O site acessado pelo xml está offiline;
2) O usuário logado na máquina não tem acesso/permissão para esse site;
3) Pode ser algum bug/configuração do glassfish 3 que não consegue validar esse arquivo (já identificamos que no Glassfish 4 não ocorre esse problema e também verificado que em outros clientes com a versão 3 isso também não ocorre).
O que poderia ser feito é desabilitar essa validação, para isso basta ir no Painel de administração do glassfish > Configurations > Server Config > JVM Settings > Options > Add JVM Option e adicionar a seguinte linha -Dorg.jboss.weld.xml.disableValidating=true > Salvar
Após isso reiniciar o glassfish, fazer undeploy do EAR e refazer o Deploy do EAR com os arquviso web.xml