This article describes a procedure for updating the time zone data for all WebObjects 5 versions. It is not necessary to use this procedure to update the WebObjects 5.3 time zone data.
Time zone data are stored in a file named zoneinfo.zip that may be present on the file system itself as well as in JavaFoundation.jar, javafoundation.jar, and wojavaclient.jar archives. These files are present in various file system locations depending on the WebObjects version and the operating system on which WebObjects is installed. Both WebObjects Developer and Deployment installations should be updated. These files can also be present on standalone Web servers without full WebObjects installations.
To update the WebObjects time zone data, current compiled time zone data must first be archived in a file named zoneinfo.zip. Then all existing instances of zoneinfo.zip must be replaced with this new zoneinfo.zip.
WebObjects applications do not need to be rebuilt to take advantage of the time zone data update.
The follow examples assume that Mac OS X is the operating system and /tmp is your working folder.
Important: The following procedure is known to work with WebObjects 5.2.4 under Mac OS X 10.4 and can be followed similarly for other WebObjects 5 versions on other platforms by experienced system administrators. However, because this procedure has been tested only with WebObjects 5.2.4 under Mac OS X 10.4, it may not work for all WebObjects 5 versions under all platforms. Users who are unfamiliar with the command line interface and manual configuration in general should proceed with caution or, preferably, seek assistance. Assistance in updating WebObjects' time zone data is not part of Apple's complimentary technical support but is included among the benefits of an AppleCare Enterprise Support fee-based support package.
Creating zoneinfo.zip
- Locate one of the following three sources of compiled time zone data; any will work under Mac OS X, Windows, or Solaris.
- The most convenient compiled time zone data source is the Mac OS X time zone data in /usr/share/zoneinfo. To incorporate the 2007 Daylight Saving Time (DST) changes, the Mac OS X "Daylight Saving Time Update", offered by Software Update, must have been installed.
- Other UNIX systems such as Solaris include compiled time zone data. For example, under Solaris 8, compiled time zone data are in /usr/share/lib/zoneinfo. To incorporate the 2007 DST changes, the Solaris time zone data must be version 2007a or later.
- Download raw time zone data and C source for Zone Info Compiler (zic). Build zic and use it to compile the raw time zone data. To incorporate the 2007 DST changes, time zone data version 2007a or later must be downloaded. Note that to build zic in Mac OS X 10.4 or later, you need to use:
"make CFLAGS=-DSTD_INSPIRED".
- Create a "zoneinfo.zip" ZIP archive of the contents of the compiled time zone data folder. For example, under Mac OS X in a Terminal window assuming that the com/webobjects/foundation/TimeZoneInfo path exists in your working folder, /tmp, enter these commands, each on a single line:
cd /usr/share/zoneinfo
zip -r /tmp/com/webobjects/foundation/TimeZoneInfo/zoneinfo.zip *
Updating time zone data
- Log in with system administrator privileges.
- Stop all running instances of WebObjects applications, JavaMonitor, and the WebObjects Task Daemon (wotaskd).
- Replace all zoneinfo.zip files on your system with the new zoneinfo.zip file that you created in Step 2 above.
- zoneinfo.zip can be in the Web server document folder, in /System and /Library on Mac OS X, and in $NEXT_ROOT/Library and $NEXT_ROOT/Local/Library on Windows and Solaris, where $NEXT_ROOT is the folder in which WebObjects was installed. On Mac OS X, Spotlight will not find all files that need to be updated, so use a utility such as find instead. On a standalone Web server without a full WebObjects Deployment installation, the files that need updating will be only in the Web server document folder.
- Rename each found file with an "orig" file extension to preserve the original in its original folder should you need to revert the update.
- Replace the zoneinfo.zip file in all JavaFoundation.jar, javafoundation.jar, and wojavaclient.jar archive files.
- Search for these JAR files in the same file system locations as zoneinfo.zip (see step 5 above).
- Rename each found file with an "orig" file extension to preserve the original in its original folder should you need to revert the update.
- Use the jar command line utility (jar) to replace "com/webobjects/foundation/TimeZoneInfo/zoneinfo.zip" in each found .jar file with "com/webobjects/foundation/TimeZoneInfo/zoneinfo.zip" created in Step 2 above.
Extending the example in step 2, to update /Library/WebObjects/lib/JavaFoundation.jar, enter the following statement on a single line with /tmp as the current folder:
jar -uf /Library/WebObjects/lib/JavaFoundation.jar com
- The Java versions required by WebObjects 5 should include a jar utility (jar) that supports replacement of a component of a JAR archive. But some previous Java versions may not, so use the jar command-line utility (jar) included with Java 1.3.1 or later.
- If WebObjects applications are deployed in self-contained WAR archives, JavaFoundation.jar, javafoundation.jar, wojavaclient.jar in each WAR archive must also be updated using a similar approach.
- After all updates have been completed, restart wotaskd, JavaMonitor, and all instances of WebObjects applications.
Important: Information about products not manufactured by Apple is provided for information purposes only and does not constitute Apple's recommendation or endorsement. Please contact the vendor for additional information.