J'ai une application fonctionnant en mode cluster (deux nœuds) sous tomcat/Linux. Malheureusement, j'ai remarqué que node1 et node2 ont des paramètres de temps différents. Lorsque dans une coquille I punch « date » je reçois dans les deux machines identiques:Problème de fuseau horaire dans Java/Linux
> date --rfc-2822
Thu, 22 Oct 2009 15:00:15 +0200
J'ai écrit un petit programme java qui imprime uniquement la date formatée (et le temps).
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());
}
}
à un nœud que je reçois: heure actuelle en millisecondes = 1256215701981 => Jeu Oct 22 13:48:21 GMT + 01: 00 2009 fuseau horaire actuel: GMT + 01: 00
alors qu'à l'autre nœud que je reçois: heure actuelle en millisecondes = 1256215779203 => Jeu 22 octobre 14:49:39 CEST 2009 fuseau horaire actuel: Europe/Berlin
Est-ce un paramètre Linux ou un paramètre java ? Dans tous les cas, comment puis-je changer cela?
Merci d'avance!
Luis