JVM: Impementation of Daylight Saving Time in Argentina Dec. 30 2007

  • 3797578
  • 11-Jan-2008
  • 26-Apr-2012

Environment


Novell NetWare 6.5 Support Pack 6
Novell Nterprise Branch Office 2.0

Situation

The government of Argentina approved a new law for saving energy. This law took effect on December 30, 2007 at 12:00:00 AM and it will end on March 16, 2008 12:00:00 AM.

Currently the Java Runtime Environment (JRE) on NetWare does not include the updates for Daylight Saving Time changes.

Resolution

Java instances are included in ConsoleOne, iManager, DNSDHCP Console, ZENworks Linux Management, ZENworks Server Management, Identity Manager drivers, the IDM User Application, Extend Application/Products and Sentinel products. Each instance of the Java Runtime Environment (JRE or JVM) will need to have the time zone data updated. In most cases the use of a Sun provided utility (tzupdater.jar or tzupdater133.jar) can be used to apply the updates quickly and easily. Each of these applications may have separate instances of a JRE and each JRE instance will need to be updated.

tzupdater information:
http://java.sun.com/javase/tzupdater_README.html v1.3.3
Download tzupdater:
http://java.sun.com/javase/downloads/index.jsp#timezone

Manually updating JVM time zone data on NetWare servers with JVM 1.4.x
Sun Microsystems Inc. has made a time zone updater tool available that can be used to manually update the existing time zone data on NetWare 6.5 and 6.0 servers running a JVM 1.4.x. This tool will only work with JVM 1.4.x

The following link documents this utility and provides a link to the Sun Java SE download site to obtain the utility:

1. download and extract the tool to a temporary directory

2. copy the tzupdater.jar file to a temporary directory on the SYS: volume of the NetWare 6.5 server

eg: sys:\temp\tzupdater.jar

3. update the current time zone information with the utility by entering the following at the server console prompt

java -jar /temp/tzupdater.jar -u -bc -v
If you have previously run this tool against Java, use the following command
java -jar /temp/tzupdater.jar -f -bc -v

4. check the results on the logger screen, which should be similar to the following:

java.home: SYS:\JAVA
java.vendor: Sun Microsystems Inc.
java.version: 1.4.2_09
JRE time zone data version: tzdata2003a
Embeded time zone data version: tzdata2006p
Extracting files... done.
Renaming directories... done.
Validating the new time zone data... done.
Time zone data update is complete.
java: Class /temp/tzupdater.jar exited successfully
An optional step prior to actually updating the time zone data would be to execute the "test" option of the utility (java -jar /temp/tzupdater.jar -t -v). This will generate lots of error messages in the logger screen indicating that time zones were not found or that a test failed. This is normal and expected.

This utility will create a new time zone information directory structure for Java which will take up about 1.7 MB of actual disk space. The existing directory will be renamed so a back out option does exist if needed. The existing time zone data directory will be renamed to sys:\java\lib\zi.tzdata2003a and the new directory will be sys:\java\lib\zi.The old directory can be deleted at a later time if desired to free up a bit of disk space.

Additional Information

sample test code
Daylight Saving Time (DST) Handling in Linux documented in TID 3655154 has a section on Java applications that includes sample test code that can be used to validate time zone changes in the JRE. The sample code can be used to build a test application for the NetWare platform as well. It is left as an exercise for those interested in java application development to complete that process.