Resolução de problemas

Seguem abaixo alguns problemas que podem ser enfrentados durante a utilização do Gestão do Ponto com suas respectivas soluções.

Erro na execução de processo de cálculo de apuração

Problema: durante a execução simultânea de muitos processos de cálculo de apuração, o Gestão do Ponto pode apresentar erro e exibir a mensagem “O sistema está indisponível no momento. Contate o administrador do sistema”.

Solução: o log do WildFly pode ajudar a indicar a causa do erro. O stackTrace abaixo é obtido no log após o início do processo de cálculo. Ele só ocorre quando há algum problema e pode ser um sinal de que os processos em execução simultânea esgotaram as conexões do banco de dados disponíveis para a aplicação.

stackTrace exibido no log
<div class="Code"><p>javax.ejb.EJBException<br></br>at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:5215)<br></br>at com.sun.ejb.containers.BaseContainer.checkExceptionNoTx(BaseContainer.java:5044)<br></br>at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4879)<br></br>at com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(MessageBeanContainer.java:1211)<br></br>at com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(MessageBeanContainer.java:1186)<br></br>at com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(MessageBeanListenerImpl.java:86)<br></br>at com.sun.enterprise.connectors.inbound.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:190)<br></br>at com.sun.proxy.$Proxy316.onMessage(Unknown Source)<br></br>at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:260)<br></br>at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:114)<br></br>at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497)<br></br>at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540)<br></br>Caused by: com.senior.util.ResourceUnavailableException: O sistema está indisponível no momento. Contate o administrador do sistema.<br></br>at com.senior.dbc.ContextSessionHelper.getException(ContextSessionHelper.java:105)<br></br>at com.senior.dbc.ContextSessionHelper.getSession(ContextSessionHelper.java:51)<br></br>at com.senior.dbc.ContextSessionHelper.getSession(ContextSessionHelper.java:35)<br></br>at br.com.senior.rh.db.ContextSession.getSession(ContextSession.java:19)<br></br>at com.senior.ws.HelperControleSessaoWS.getSession(HelperControleSessaoWS.java:36)<br></br>at com.senior.message.AcertoConsumidor.onMessage(AcertoConsumidor.java:52)<br></br>at sun.reflect.GeneratedMethodAccessor306.invoke(Unknown Source)<br></br>at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br></br>at java.lang.reflect.Method.invoke(Method.java:606)<br></br>at org.wildfly.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052)<br></br>at org.wildfly.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124)<br></br>at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:4180)<br></br>at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5368)<br></br>at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5348)<br></br>at com.sun.ejb.containers.MessageBeanContainer.deliverMessage(MessageBeanContainer.java:1099)<br></br>at com.sun.ejb.containers.MessageBeanListenerImpl.deliverMessage(MessageBeanListenerImpl.java:81)<br></br>at com.sun.enterprise.connectors.inbound.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:171)<br></br>... 5 more<br></br>Caused by: java.lang.RuntimeException: com.senior.dbc.impl.connection.NoSuchConnectionException: Connection pool exhausted<br></br>at com.senior.dbc.impl.connection.ConnectionProviderImpl.openConnection(ConnectionProviderImpl.java:152)<br></br>at com.senior.dbc.impl.SessionImpl.&#x3C;init>(SessionImpl.java:54)<br></br>at com.senior.dbc.impl.DBCenterImpl.newSession(DBCenterImpl.java:144)<br></br>at com.senior.dbc.impl.DBCenterImpl.newSession(DBCenterImpl.java:1)<br></br>at com.senior.dbc.ContextSessions.getSession(ContextSessions.java:43)<br></br>at com.senior.dbc.ContextSessionHelper.getSession(ContextSessionHelper.java:49)<br></br>... 20 more<br></br>Caused by: com.senior.dbc.impl.connection.NoSuchConnectionException: Connection pool exhausted<br></br>at com.senior.dbc.impl.connection.JdbcConnectionManager.borrowConnection(JdbcConnectionManager.java:424)<br></br>at com.senior.dbc.impl.connection.ConnectionProviderImpl.openConnection(ConnectionProviderImpl.java:150)<br></br>... 25 more</p></div>

Neste caso, a solução seria dimensionar corretamente o número de conexões do processo escalável, ou seja, reduzir as conexões para manter o processamento. Esta opção é definida na janela Configuração de Serviços Escaláveis (FRCONFSERVICOS) do módulo Controle de Ponto e Refeitório.

Nota

A não geração do log de término na tela do log de processo do Gestão do Ponto pode ser considerada um erro de execução do processo de apuração.

Erro ao abrir tela de colaboradores ao utilizar hierarquia de posto de trabalho

Problema: ao utilizar hierarquia de posto de trabalho, ao abrir a tela de colaboradores, o sistema exibia a mensagem “com.senior.dbc.DBCenterException: The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Too many parameters were provided in this RPC request. The maximum is 2100.”.

Solução: para que a mensagem de erro não seja apresentada ao abrir a tela de colaboradores, faça a seguinte configuração:

  1. Na Central de Configurações Senior, inclua a chave:
    Nome: com.senior.seniortools.manage_range.sql.use_literal_values
    Valor: true
  2. Em seguida, no WildFly, aumente o stack do(s) domínios(s) em:
    Runtime > Server Groups > Server Group > Server:view > JVMs;
  3. Salve as alterações;
  4. Reinicie o serviço do WildFly do Gestão do Ponto.
Limitações de leiaute do Gestão do Ponto

Problema: as telas do Gestão do Ponto podem ficar desalinhadas no browser, quando o navegador está com zoom diferente de 100%.

Solução: as ferramentas de terceiros que o framework utiliza para fazer a renderização dos componentes das telas não tem mais suporte para a versão atual do sistema. Desta forma, fica caracterizado como uma limitação do sistema dar zoom diferente de 100% no navegador, podendo trazer o desalinhamento dos componentes. Com isso, a sugestão seria não utilizar o Gestão do Ponto com zoom diferente do padrão (100%) no navegador.

Necessidade de atualizar a página após aplicar penalidade

Problema: na tela de acerto do colaborador, quando o gestor aplica uma penalidade para uma determinada data com a tela de acertos aberta e após a aplicação desta penalidade esta data é recalculada sem atualizar a tela de acertos, um erro ocorre ao tentar salvar as alterações.

Solução: devido aos incidentes/penalidades serem carregados em memória no momento em que a tela é aberta, é necessário que após aplicar qualquer penalidade a página seja atualizada.

Necessidade de atualizar a página após primeiro recálculo de apuração

Problema: na tela de acerto do colaborador, o sistema não remove os indicadores de status de incidentes do ponto e prazo para acerto expirado, quando o gestor/recursos humanos realiza o segundo recálculo da apuração sem atualizar a página. Com isto, a realocação das marcações e apuração ficam incorretas, porém os indicadores de status permanecem como estavam.

Solução: para que os indicadores sejam atualizados após o segundo recálculo da apuração, é necessário que após o primeiro recálculo a página seja atualizada.

Nota

Este comportamento ocorre também nas demais telas do sistema. Portanto, é recomendável a atualização das páginas já abertas antes de iniciar uma nova ação no sistema.

Mensagem do navegador ao acessar o Gestão do Ponto via Senior X

Sintoma: ao acessar o Gestão do Ponto por meio da plataforma Senior X, o navegador pode exibir uma mensagem informando que o site está tentando buscar e se conectar a dispositivos da rede local.

Causa: essa mensagem é gerada pelo próprio navegador (como Chrome ou Edge) e está relacionada aos mecanismos de segurança conhecidos como Private Network Access (PNA).
Esse controle é aplicado quando uma aplicação acessada por um domínio público realiza requisições para recursos hospedados em uma rede privada ou local.
Nessa situação, o navegador identifica a tentativa de comunicação entre um domínio público e um recurso de rede local e, por padrão, exibe o alerta como forma de proteção ao usuário.

Impacto

A exibição dessa mensagem:

  • não indica falha no funcionamento do Gestão do Ponto;
  • não representa coleta de informações da rede local;
  • não executa varredura ou mapeamento de dispositivos internos;
  • ocorre antes que a requisição seja processada pelo backend da aplicação.

Trata-se exclusivamente de um comportamento de segurança controlado pelo navegador.

Orientação

Não é recomendada a desativação global dos mecanismos de segurança do navegador, como flags ou políticas que reduzem a proteção contra acessos indevidos.
O comportamento apresentado depende das políticas de segurança do navegador e de sua evolução, não sendo passível de configuração individual por usuário ou domínio.
Eventuais adequações para eliminar esse tipo de alerta dependem de ajustes arquiteturais na comunicação entre domínios públicos e recursos internos, alinhados aos padrões definidos pelo W3C para o Private Network Access.

Este artigo ajudou você?