Resolución de problemas
Siguen abajo algunos problemas que pueden ser enfrentados durante la utilización de Gestión de Registro de horas con sus respectivas soluciones.
Problema: durante la ejecución simultánea de muchos procesos de cálculo de apuración, el Gestión de Registro de horas puede presentar error y exhibir el mensaje "El sistema está indisponible en este momento. Contacte el administrador del sistema".
Solución: el log del GlassFish puede ayudar a indicar la causa del error. El stackTrace abajo es obtenido en el log después el inicio del proceso de cálculo. Eso solo ocurre cuando hay algún problema y puede ser una señal de que los procesos en ejecución simultánea se agoten las conexiones del banco de datos disponibles para la aplicación.
javax.ejb.EJBException
at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:5215)
at com.sun.ejb.containers.BaseContainer.checkExceptionNoTx(BaseContainer.java:5044)
at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4879)
at com.sun.ejb.containers.MessageBeanContainer.afterMessageDeliveryInternal(MessageBeanContainer.java:1211)
at com.sun.ejb.containers.MessageBeanContainer.afterMessageDelivery(MessageBeanContainer.java:1186)
at com.sun.ejb.containers.MessageBeanListenerImpl.afterMessageDelivery(MessageBeanListenerImpl.java:86)
at com.sun.enterprise.connectors.inbound.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:190)
at com.sun.proxy.$Proxy316.onMessage(Unknown Source)
at com.sun.messaging.jms.ra.OnMessageRunner.run(OnMessageRunner.java:260)
at com.sun.enterprise.connectors.work.OneWork.doWork(OneWork.java:114)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:497)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:540)
Caused by: com.senior.util.ResourceUnavailableException: El sistema está indisponible por el momento. Contacte el administrador del sistema.
at com.senior.dbc.ContextSessionHelper.getException(ContextSessionHelper.java:105)
at com.senior.dbc.ContextSessionHelper.getSession(ContextSessionHelper.java:51)
at com.senior.dbc.ContextSessionHelper.getSession(ContextSessionHelper.java:35)
at br.com.senior.rh.db.ContextSession.getSession(ContextSession.java:19)
at com.senior.ws.HelperControleSessaoWS.getSession(HelperControleSessaoWS.java:36)
at com.senior.message.AcertoConsumidor.onMessage(AcertoConsumidor.java:52)
at sun.reflect.GeneratedMethodAccessor306.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052)
at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124)
at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:4180)
at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5368)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5348)
at com.sun.ejb.containers.MessageBeanContainer.deliverMessage(MessageBeanContainer.java:1099)
at com.sun.ejb.containers.MessageBeanListenerImpl.deliverMessage(MessageBeanListenerImpl.java:81)
at com.sun.enterprise.connectors.inbound.MessageEndpointInvocationHandler.invoke(MessageEndpointInvocationHandler.java:171)
... 5 more
Caused by: java.lang.RuntimeException: com.senior.dbc.impl.connection.NoSuchConnectionException: Connection pool exhausted
at com.senior.dbc.impl.connection.ConnectionProviderImpl.openConnection(ConnectionProviderImpl.java:152)
at com.senior.dbc.impl.SessionImpl.<init>(SessionImpl.java:54)
at com.senior.dbc.impl.DBCenterImpl.newSession(DBCenterImpl.java:144)
at com.senior.dbc.impl.DBCenterImpl.newSession(DBCenterImpl.java:1)
at com.senior.dbc.ContextSessions.getSession(ContextSessions.java:43)
at com.senior.dbc.ContextSessionHelper.getSession(ContextSessionHelper.java:49)
... 20 more
Caused by: com.senior.dbc.impl.connection.NoSuchConnectionException: Connection pool exhausted
at com.senior.dbc.impl.connection.JdbcConnectionManager.borrowConnection(JdbcConnectionManager.java:424)
at com.senior.dbc.impl.connection.ConnectionProviderImpl.openConnection(ConnectionProviderImpl.java:150)
... 25 more
En este caso, la solución seria dimensionar correctamente el número de conexiones del proceso escalable, o sea, reducir las conexiones para mantener el procesamiento. Esta opción es definida en la ventana Configuración de Servicios Escalables (FRCONFSERVICOS) del módulo Control de Registro de horas y Comedor.
Nota
La no generación del log de término en la pantalla del log de proceso del Gestión de Registro de horas puede ser considerada un error de ejecución del proceso de evaluación.
Problema: al utilizar jerarquía de registro de trabajo, al abrir la pantalla de empleados, el sistema exhibía el mensaje "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.".
Solución: para que el mensaje de error no sea presentada al abrir la pantalla de empleados, haga la siguiente configuración:
- En la Central de Configuraciones Senior, incluya la llave:
Nombre: com.senior.seniortools.manage_range.sql.use_literal_values
Valor: true - En seguida, en el GlassFish, aumente el stack do(s) dominios(s) en:
Configurations > Server-config > jvm settings > jvm options. Adicione -Xss2m; - Salve las alteraciones;
- Reinicie el servicio del GlassFish de Gestión de Registro de horas.
Problema: algunas aplicaciones Senior son afectadas por una actualización de seguridad de los navegadores Firefox (versión 39) y Chrome (versión 45), entre ellas el Gestión del Registro de horas, presentando el mensaje “El servidor posee una llave pública Diffie-Hellman efímera débil”. Esa situación ocurre apenas cuando el servidor GlassFish utiliza el Java 1.6 y SSL (conexión vía https).
Esa actualización fue necesaria debido una grande falla (Logjam Attack) descubierta en el método de cambio de llaves llamado Diffie-Hellman, que fue contornada por los navegadores impidiendo el acceso a los servidores que utilicen este tipo de protocolo.
Solución: para obtener informaciones sobre la solución, consulte la sección Resolución de Problemas en el Manual de Instalación.
Problema: las pantallas de Gestión de Registro de horas pueden quedar desalineadas en el browser, cuando el navegador está con zoom diferente de 100%.
Solución: las herramientas de terceros que el framework utiliza para hacer la renderización de los componentes de las pantallas no tiene más soporte para la versión actual del sistema. De esta forma, queda caracterizado como una limitación del sistema dar zoom diferente de 100% en el navegador, pudiendo traer la desalineación de los componentes. Con eso, la sugerencia seria no utilizar el Gestión de Registro de horas con zoom diferente del estándar (100%) en el navegador.
Problema: en la pantalla de acierto del empleado, cuando el gestor aplica una penalidad para una determinada fecha con la pantalla de aciertos abierta y después la aplicación de esta penalidad esta fecha es recalculada sin actualizar la pantalla de aciertos, un error ocurre al intentar guardar las alteraciones.
Solución: debido a los incidentes/penalidades sean cargados en memoria en el momento en que la pantalla es abierta, es necesario que después aplicar cualquier penalidad la página sea actualizada.
Problema: en la pantalla de acierto del empleado, el sistema no remueve los indicadores de estado de incidentes de registro de horas y plazo para acierto expirado, cuando el gestor/recursos humanos realiza el segundo recálculo de la evaluación sin actualizar la página. Con esto, la reasignación de las marcaciones y evaluación quedan incorrectas, por lo tanto los indicadores de estado permanecen como estaban.
Solución: para que los indicadores sean actualizados después el segundo recálculo de la evaluación, es necesario que después el primer recálculo la página sea actualizada.
Nota
Este comportamiento ocurre también en las demás pantallas del sistema. Por lo tanto, es recomendable la actualización de las páginas ya abiertas antes de iniciar una nueva acción en el sistema.
English
Español


