Pregunta

Tengo una aplicación que se ejecuta en modo de clúster (dos nodos) en Tomcat / Linux. Desafortunadamente, he notado que node1 y node2 tienen diferentes configuraciones de tiempo. Cuando en un shell golpeo la fecha de " fecha " " Consigo en ambas máquinas lo mismo:

  > date  --rfc-2822
    Thu, 22 Oct 2009 15:00:15 +0200

Escribí un pequeño programa Java que solo imprime la fecha (y la hora) formateada.

import java.util.Date;
import java.util.TimeZone; 

public class TimeTest {

    public static void main(String args[]) {
    long time = System.currentTimeMillis();
    String millis = Long.toString(time);

    Date date = new Date(time);
    System.out.println("Current time in milliseconds = " + millis + " => " + date.toString());
    System.out.println("Current time zone: " + TimeZone.getDefault().getID());
    }
}

En un nodo estoy recibiendo:     Tiempo actual en milisegundos = 1256215701981 = > Jue 22 de octubre 13:48:21 GMT + 01: 00 2009     Zona horaria actual: GMT + 01: 00

mientras que en el otro nodo estoy obteniendo:     Tiempo actual en milisegundos = 1256215779203 = > Jue 22 de octubre 14:49:39 CEST 2009     Zona horaria actual: Europa / Berlín

¿Es esta una configuración de Linux o una configuración de Java? En cualquier caso, ¿cómo puedo cambiar esto?

Gracias de antemano!

Luis

¿Fue útil?

Solución

De acuerdo con documentación la fuente de la Zona horaria predeterminada puede variar con la implementación. En su caso, parece que un servidor está utilizando el horario de verano y el otro no.

Además, esta pregunta puede ser útil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top