У меня есть приложение, работающее в режиме кластера (два узла) под tomcat / Linux.
К сожалению, я заметил, что node1 и node2 имеют разные настройки времени.
Когда в оболочке я пробиваю «дата», я получаю на обеих машинах одинаково:
> date --rfc-2822
Thu, 22 Oct 2009 15:00:15 +0200
Я написал небольшую Java-программу, которая печатает только отформатированную дату (и время).
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());
}
}
На одном узле я получаю:
Текущее время в миллисекундах = 1256215701981 => Четверг 22 13:48:21 GMT + 01: 00 2009
Текущий часовой пояс: GMT + 01: 00
тогда как на другом узле я получаю:
Текущее время в миллисекундах = 1256215779203 => Чт 22 октября 14:49:39 CEST 2009
Текущий часовой пояс: Европа / Берлин
Это настройка Linux или настройка Java?
В любом случае, как я могу это изменить?
Заранее спасибо!
Луис