Sometimes timezone data changes. The Java’s timezone data is not read from the operating system, it maintains a private repository of timezone data in locally installed files (.../jre/lib/zi).

There is a tool from Sun for updating timezone data in installed JRE or JDK software, which called the Timezone Updater tool, or TZUpdater, it can be downloaded for free. The TZUpdater tool modifies the JDK/JRE software instance that is used to execute the tool. A single image of the JDK/JRE software is modified per execution. The same procedure for Unix or Windows.

First execution with -t option to perform verification tests:

c:\>C:\tibco\tibcojre\1.6.0\bin\java.exe -jar tzupdater.jar -t
/data/tzdata2011k.test:165: time zone not found: America/Sitka
/data/tzdata2011k.test:315: time zone not found: America/Metlakatla
/data/tzdata2011k.test:1151: time zone not found: America/North_Dakota/Beulah
/data/tzdata2011k.test:1277: test failed: America/Resolute
/data/tzdata2011k.test:1370: test failed: Chile/EasterIsland
/data/tzdata2011k.test:1413: test failed: Pacific/Easter
/data/tzdata2011k.test:1564: test failed: America/Havana
/data/tzdata2011k.test:1988: test failed: Cuba
/data/tzdata2011k.test:2236: test failed: America/Goose_Bay
/data/tzdata2011k.test:2278: time zone not found: America/Kralendijk
/data/tzdata2011k.test:2280: time zone not found: America/Lower_Princes
/data/tzdata2011k.test:2315: test failed: America/Santiago
/data/tzdata2011k.test:2447: test failed: Chile/Continental
/data/tzdata2011k.test:2493: test failed: America/St_Johns
/data/tzdata2011k.test:2512: test failed: CNT
/data/tzdata2011k.test:2533: test failed: Canada/Newfoundland
/data/tzdata2011k.test:2762: test failed: Africa/Casablanca
/data/tzdata2011k.test:4024: test failed: Asia/Gaza
/data/tzdata2011k.test:4025: time zone not found: Asia/Hebron
/data/tzdata2011k.test:4035: test failed: Asia/Istanbul
/data/tzdata2011k.test:4227: test failed: Europe/Istanbul
/data/tzdata2011k.test:4417: test failed: Turkey
/data/tzdata2011k.test:4442: time zone not found: Africa/Juba
/data/tzdata2011k.test:4457: test failed: Europe/Kaliningrad
/data/tzdata2011k.test:4460: test failed: Europe/Kiev
/data/tzdata2011k.test:4463: test failed: Europe/Minsk
/data/tzdata2011k.test:4466: test failed: Europe/Simferopol
/data/tzdata2011k.test:4469: test failed: Europe/Uzhgorod
/data/tzdata2011k.test:4472: test failed: Europe/Zaporozhye
/data/tzdata2011k.test:4566: test failed: Europe/Moscow
/data/tzdata2011k.test:4569: test failed: Europe/Samara
/data/tzdata2011k.test:4572: test failed: Europe/Volgograd
/data/tzdata2011k.test:4599: test failed: W-SU
/data/tzdata2011k.test:4631: test failed: Asia/Yekaterinburg
/data/tzdata2011k.test:4644: test failed: Asia/Novokuznetsk
/data/tzdata2011k.test:4647: test failed: Asia/Novosibirsk
/data/tzdata2011k.test:4650: test failed: Asia/Omsk
/data/tzdata2011k.test:4668: test failed: Asia/Krasnoyarsk
/data/tzdata2011k.test:4693: test failed: Asia/Irkutsk
/data/tzdata2011k.test:4814: test failed: Asia/Yakutsk
/data/tzdata2011k.test:5059: test failed: Asia/Sakhalin
/data/tzdata2011k.test:5062: test failed: Asia/Vladivostok
/data/tzdata2011k.test:5116: test failed: Asia/Anadyr
/data/tzdata2011k.test:5119: test failed: Asia/Kamchatka
/data/tzdata2011k.test:5122: test failed: Asia/Magadan
/data/tzdata2011k.test:5190: test failed: Pacific/Fiji
/data/tzdata2011k.test:5247: test failed: Pacific/Apia
/data/tzdata2011k.test:5262: test failed: MIT

So we can see a list of incorrect timezone data in JRE that we have with the latest TIBCO TRA. It’s time to perform an update:

c:\>C:\tibco\tibcojre\1.6.0\bin\java.exe -jar tzupdater.jar -u

Don’t forget to restart all TIBCO processes (Java instances) to pick up new timezone data.