JVM не принимает изменения летнего времени на сервере - PullRequest
0 голосов
/ 25 февраля 2020

У нас в работе 4 сервера, и все их время синхронизируется с использованием сервера NTP (Network Time Protocol), всех этих серверов в Новой Зеландии, и в рамках дневного света серверы были переведены на 1 час, т. Е. + От 1200 до +1300, но кажется, что все приложения, использующие JVM, имеют отметку + 1200.

, поэтому я написал фрагмент кода для отображения времени, и это подтвердило, что JVM не использует переход на летнее время. Любые предложения или объяснения по поводу этого поведения. между тем я не хочу рекомендовать перезапускать сервер как его производственную коробку.

Мы используем ibmJDK вместо Oracle JDK.

1 Ответ

1 голос
/ 25 февраля 2020

Изменилось ли конкретное правило перехода на летнее время, на которое вы ссылаетесь в последнее время, или оно используется уже много лет?

Java использует свою собственную внутреннюю базу данных часовых поясов, а не систему.

Проверьте, обновлена ​​ли java база данных часовых поясов на серверах. Если нет, то вам может понадобиться рассмотреть возможность обновления JDK - особенно если вы используете старую версию.

Более подробную информацию вы можете найти здесь: https://www.oracle.com/technetwork/java/javase/timezones-137583.html

Эта таблица также может помочь найти конкретную версию вашей базы данных часовых поясов (но я не уверен насчет спецификаций IBM JDK c): https://www.oracle.com/technetwork/java/javase/tzdata-versions-138805.html

...