ICU4J 4.4 fails to load available locales on WebSphere

Description

ICU4J 4.4 fails to load available locales from resources on WebSphere. In ICU4J 4.4, we decided to remove res_index.txt. Without res_index.txt, the ICU implementation relies on ClassLoader#getResources to get a list URLs in the locale data path, then iterate through the list to create available locale list. However, ICU only handles "file" and "jar" protocols. On WebSphere, "wsjar" protocol is used and ICU fails to create the list.

When available locale list is empty, ICU services throw MissingResourceException. Thus, locale services fail to instantiate service objects. For example, Calendar.getInstance(), NumberFormat.getInstance() and many others fail on WebSphere for this reason.

Activity

Show:
TracBot
July 1, 2018, 10:04 AM
Trac Comment 2 by —2010-06-17T15:30:55.000Z

I attached icu44residx.jar in this ticket. If someone is blocked by this problem and need a quick workaround, he/she can put this jar file in the classpath along with ICU4J 4.4 or 4.4.1 jar to resolve the problem.

TracBot
July 1, 2018, 10:04 AM
Trac Comment 4 by —2010-06-21T14:28:16.000Z

We agreed to merge the fix to 4.5.1.

TracBot
July 1, 2018, 10:04 AM
Trac Comment 7 by —2016-10-05T23:14:06.988Z

Milestone 4.5.1 deleted

Fixed

Assignee

Yoshito Umaoka

Reporter

Yoshito Umaoka

Components

Labels

None

Reviewer

None

Priority

blocks-release

Time Needed

Hours

Fix versions