Spark es una aplicación Java que funciona como cliente de mensajería instantánea a través de un servidor local de Jabber tal como Openfire.
Este artículo se refiere a un ambiente donde se encontraba instalado Spark 2.5.8 y Openfire 3.6.4
Síntomas:
Existen ocasiones en que los mensajes enviados y recibidos por el cliente Spark pueden aparecer en las ventanas de conversaciones con una hora equivocada, por ejemplo, con 30 minutos de diferencia. Esto puede suceder incluso a pesar de que la zona horaria del sistema operativo esté correctamente configurada tanto en los equipos clientes como en el servidor (en mi caso, Openfire).
Info:
El instalador de Spark 2.5.8 contiene su propio ambiente de tiempo de ejecución de Java (JRE), lo que significa que no es necesario instalar previamente Java en el equipo sino que éste se instala automáticamente con el programa en cuestión. Sin embargo, tal como el sistema operativo, Java también maneja sus propias zonas horarias y el instalador de Spark 2.5.8 no contiene la versión más actualizada de Java, y en particular, la versión del JRE incluida en Spark no contiene la zona horaria de Venezuela.
En Venezuela, actualmente la zona horaria es GMT-04:30, pero a pesar de seleccionar la zona horaria correcta en el sistema operativo, puesto que el JRE de Spark no conoce esta nueva zona horaria, pues no la detecta y le asigna la zona horaria anterior de Caracas, Venezuela, la cual es GMT-04:00, por lo cual todos los mensajes instantáneos se muestran con 30 minutos de diferencia.
Ahora, suponiendo que, aparte de la versión incorporada del JRE, se tiene también instalada la versión más actualizada de Java (en la actualidad JRE6u21), pues, puede suceder que Spark igual sigue usando su versión incorporada de JRE! tal vez esto puede darse por haber instalado Spark ANTES de instalar Java, sin embargo esto aún no lo he confirmado.
El JRE incorporado puede conseguirse en la carpeta C:\Archivos de Programa\Spark\jre\. Entonces, la idea es obligar a Spark a usar una versión de Java diferente a la que trae incorporada.
Solución:
Para solucionar este problema realice lo siguiente:
- Instale la última versión de Java (JRE6u21 en la actualidad)
- Renombre la carpeta C:\Archivos de Programa\Spark\jre\ y coloque un nuevo nombre a la carpeta jre, por ejemplo, jre_OLD
Si no es posible actualizar el JRE para disponer de la versión actualizada de las zonas horarias existe una utilidad llamada TZupdater.
Más información:
JAVA y el nuevo TIMEZONE para Venezuela