0

We have 4 servers in production, and all of their times are being synchronized using NTP(Network Time Protocol) server, all of these servers in NewZealand, and as part of the Daylight, the servers been advanced to 1 hour i.e +1200 to +1300, but it seems like all applications that use JVM are struck at +1200.

so i wrote a piece of code to display time and that confirmed JVM is not taking the daylight savings. Any suggestions or explanation about this behavior. between i don't want to recommend to restart the server as its production box.

We are using ibmJDK rather than Oracle JDK.

Ole V.V.
  • 81,772
  • 15
  • 137
  • 161
Sud
  • 79
  • 1
  • 11
  • Have you tried the [Timezone Updater Tool](https://www.oracle.com/technetwork/java/javase/tzupdater-readme-136440.html)? – Elliott Frisch Feb 24 '20 at 21:44
  • nop but, as i said they are production environments, but in the first place why would the JVM won't take the systemTime?, between we are using ibmJDK rather than Oracle JDK, so i am not sure about that Oracle Timezone Updater tool. – Sud Feb 24 '20 at 21:56
  • Your piece of code to display time, did you run it inside the running production server or as a separate Java program? The latter would seem to indicate that the problem is with all JVMs on those boxes, which the former doesn’t. – Ole V.V. Feb 25 '20 at 16:44
  • well, we have only one JRE in that box, and i just ran that piece using command line – Sud Feb 26 '20 at 18:29
  • What OS is the JVM running on, and what are the time zone settings of the server? If this is Windows, give us the output of `TZUtil /g`. If this is Linux, give us the output of `cat /etc/timezone`. Thanks. – Matt Johnson-Pint Mar 04 '20 at 18:09
  • Also - [New Zealand has been on DST since September](https://www.timeanddate.com/time/zone/new-zealand/auckland). You're just noticing now? – Matt Johnson-Pint Mar 04 '20 at 18:10

1 Answers1

1

Has the particular daylight-saving rule you're referring to changed recently or has it been around for many years?

Java uses its own internal timezone database, not the system's one.

Check if java timezone database on servers is up to date. If not, then you may need to consider JDK update - especially if you're running an old release.

You can find more details here: https://www.oracle.com/technetwork/java/javase/timezones-137583.html

This table can also help to find the particular version of your timezone database (but I'm not sure about IBM JDK specific stuff): https://www.oracle.com/technetwork/java/javase/tzdata-versions-138805.html

Juraj Martinka
  • 3,991
  • 2
  • 23
  • 25